不同长度的python日期和提取年份信息

不同长度的python日期和提取年份信息,python,date,Python,Date,我的日期117/12/31表示17/12/31。如何提取年份17并将其更改为2017年?对于2000之前的日期,格式为(例如89/12/31)。在这种情况下,我需要将年份格式设置为1989在我看来,您的日期将年份1900作为基准年,因此1989表示为89,2017表示为117。因此,我只需将1900添加到年份部分,以获得日期的实际年份: >>> s = "117/12/31" >>> int(s.split("/")[0]) + 1900 2017 >&

我的日期
117/12/31
表示
17/12/31
。如何提取年份
17
并将其更改为2017年
?对于
2000
之前的日期,格式为(例如
89/12/31
)。在这种情况下,我需要将年份格式设置为
1989

在我看来,您的日期将年份
1900
作为基准年,因此
1989
表示为
89
2017
表示为
117
。因此,我只需将
1900
添加到年份部分,以获得日期的实际年份:

>>> s = "117/12/31"
>>> int(s.split("/")[0]) + 1900
2017
>>> s = "89/12/31"
>>> int(s.split("/")[0]) + 1900
1989

您可以通过以下方式注册:

import re

s = "117/12/31"
a = re.match(r'(\d{2,3})/(\d{2})/(\d{2})', s)
year = int(a.group(1))

if (year > 100):
    print "Year is 20%d" % (year - 100)
else:
    print "Year is 19%d" % year
印刷品:

年份是2017年

您的日期是字符串吗?看起来一些简单的正则表达式应该可以做到这一点。
import datetime
?@JacobIRR
datetime
不知道如何处理这样的3位数“YY溢出”年份。(我认为第三方
dateutil
可以,但我不能肯定。)