这似乎是Python库datetime的行为,我做了一个测试,以了解临界点在68-69之间:
datetime.datetime.strptime('31-Dec-68', '%d-%b-%y').date()>>> datetime.date(2068, 12, 31)datetime.datetime.strptime('1-Jan-69', '%d-%b-%y').date()>>> datetime.date(1969, 1, 1)两位数年份歧义
因此,%y年低于69的任何事物似乎都可以归因于2000年,而69以后的年份等于1900
该
%y两位数只能去
00到
99这将是不明确的,如果我们开始穿越百年。
如果没有重叠,则可以手动处理它并注释世纪(消除歧义)
我建议您手动处理数据并指定世纪,例如,您可以确定数据中年份介于17到68之间的任何内容都归因于1917年-1968年(而不是2017年-2068年)。
如果您有重叠,则无法处理年份不足的信息,除非您有一些有序的数据和参考
如果您有重叠,例如,您同时拥有2016年和1916年的数据,并且都记录为“
16”,则这是模棱两可的,并且没有足够的信息来对此进行解析,除非按日期对数据进行排序,在这种情况下,您可以使用启发式方法在解析时切换世纪。



