一.前言
《劳动法》中 年假的计算方法:累计工作已满1年不满10年的,年休假5天;已满10年不满20年的,年休假10天;已满20年的,年休假15天。
将当年度在本单位剩余的日历天数除以365天,得到的结果再乘以职工本人全年应当享受的年休假天数,即可计算出该员工当年的年休假天数。需要注意的是,如果计算出的数值中不足一整天的部分是不被计入假期的。另外,如果用人单位已经在年度内安排了职工的年休假,那么这个已经安排的年休假天数需要从上述公式中减去。
具体计算公式如下:
本年在当前企业工作天数÷365天×可享年假,然后对结果向上取整
代码思路如下
1.输入可享年假
2.输入日职
3.计算两个日期的差,套入计算公式,向上取整
使用datetime模块,输入的日期转成datetime类型,然后再获取当前日期,计算两个日期相差天数,使用math.ceil()函数对结果取整
from datetime import datetime
import math
annual = int(input("请输入可享年假:")) # 5天还是10天或者15天
employDate = input("请输入开始日期:") # 当年进公司的输入入职日期,跨年的输入这样:2023-1-1
employDate_dt = datetime.strptime(employDate,"%Y-%m-%d")
now_dt = datetime.now()
delta = now_dt-employDate_dt
holiday = math.ceil(delta.days/365*annual)
print(f"可休年假为:{abs(holiday)}天")