我需要解析代表6位數日期字符串格式yymmdd
其中yy
範圍從59到05年(1959至2005年)。按照time
模塊文檔,Python的默認軸今年是1969年,這將不適合我。如何分析與2位數年份字符串的日期?
有一種簡單的方法來覆蓋樞軸年,或者你可以建議一些其他的解決辦法?我正在使用Python 2.7。謝謝!
我需要解析代表6位數日期字符串格式yymmdd
其中yy
範圍從59到05年(1959至2005年)。按照time
模塊文檔,Python的默認軸今年是1969年,這將不適合我。如何分析與2位數年份字符串的日期?
有一種簡單的方法來覆蓋樞軸年,或者你可以建議一些其他的解決辦法?我正在使用Python 2.7。謝謝!
我會用datetime
並正常解析它。然後我會使用datetime.datetime.replace
的對象,如果它是你過去的天花板日期 - 調整回100年:
import datetime
dd = datetime.datetime.strptime(date,'%y%m%d')
if dd.year > 2005:
dd = dd.replace(year=dd.year-100)
前面加上世紀用自己的支點您的日期:
year = int(date[0:2])
if 59 <= year <= 99:
date = '19' + date
else
date = '20' + date
,然後使用strptime
與%Y
指令,而不是%y
。
import datetime
date = '20-Apr-53'
dt = datetime.datetime.strptime(date, '%d-%b-%y')
if dt.year > 2000:
dt = dt.replace(year=dt.year-100)
^2053 ^1953
print dt.strftime('%Y-%m-%d')
您也可以執行以下操作:
today=datetime.datetime.today().strftime("%m/%d/%Y")
today=today[:-4]+today[-2:]