python datatime简单计算工龄

最近要做一些简单的工资结算工作,里面有一项需要根据入职时间和截止时间计算工龄,根据工龄规则计算对应的工龄工资,所以自己写了一个计算工龄的函数,现推荐给大家(通过datetime包实现):

格式如下:

代码如下:

import datetime


def work_age(t1, t2):
    """
    计算工龄
    :param t1: 参加工作时间
    :param t2:截至计算时间
    :return:
    """
    # 首先判断是不是时间格式
    if not isinstance(t1, datetime.datetime):
        t1 = datetime.datetime.strptime(t1, "%Y-%m-%d")
    if not isinstance(t2, datetime.datetime):
        t2 = datetime.datetime.strptime(t2, "%Y-%m-%d")
    year1 = t1.year
    year2 = t2.year
    month1 = t1.month
    month2 = t2.month
    # 工龄保留两位小数
    num = round(year2 - year1 + (month2 - month1) / 12, 2)
    return num


if __name__ == '__main__':
    print(work_age("1982-09-01", "2020-03-01"))  # 37.5
    print(work_age("1982-10-01", "2020-03-01"))  # 37.42

猜你喜欢

转载自blog.csdn.net/apollo_miracle/article/details/105610531