最近要做一些簡單的工資結算工作,裏面有一項需要根據入職時間和截止時間計算工齡,根據工齡規則計算對應的工齡工資,所以自己寫了一個計算工齡的函數,現推薦給大家(通過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