如何将数字转换为日期

问题描述 投票:0回答:1

雇员号由年,月和3位数的控制数字组成,如果我们基于今天的日期,如何知道他们的工作年数?员工1 201011003,员工2 200605015

python datetime integer number-formatting data-conversion
1个回答
0
投票

您可以使用datetime.strptime将日期字符串读入datetime对象。通过减去两个datetime对象,您将获得一个timedelta对象,您可以使用该对象来计算员工到那里的年限。

from datetime import datetime
def get_date(s):
    return datetime.strptime(s[:6], '%Y%m')

示例

>>> get_date('201011003')
datetime.datetime(2010, 11, 1, 0, 0)
>>> get_date('200605015')
datetime.datetime(2006, 5, 1, 0, 0)

根据您想要的精度,您可以大致估算出员工去过的年数

def get_years(s):
    start = datetime.strptime(s[:6], '%Y%m')
    now = datetime.now()
    return (now - start).days / 365.25

>>> get_years('201011003')  
9.527720739219713
>>> get_years('200605015')
14.03148528405202
© www.soinside.com 2019 - 2024. All rights reserved.