我有一個日期輸入'date_dob'這是'20 -Apr-53' 我試圖將其轉換爲格式yyyy-mm-dd使用以下代碼:轉換日期從dd-mm-yy到dd-mm-yyyy使用python
print pd.to_datetime(date_dob,format = '%d-%b-%y')
返回「2053年4月20日00:00:00」而不是「1953年4月20日00:00:00」
我有一個日期輸入'date_dob'這是'20 -Apr-53' 我試圖將其轉換爲格式yyyy-mm-dd使用以下代碼:轉換日期從dd-mm-yy到dd-mm-yyyy使用python
print pd.to_datetime(date_dob,format = '%d-%b-%y')
返回「2053年4月20日00:00:00」而不是「1953年4月20日00:00:00」
你需要明確檢查的一年,然後減去100年:
>>> import datetime
>>> my_date = '20-Apr-53'
>>> d = datetime.datetime.strptime(my_date, '%d-%b-%y')
>>> d
datetime.datetime(2053, 4, 20, 0, 0)
# ^year = 2053
>>> if d.year > 2000:
... d = d.replace(year=d.year-100) # subtract year by 100
...
>>> d
datetime.datetime(1953, 4, 20, 0, 0)
# ^year = 1953
>>> d.strftime('%Y-%m-%d') # %Y instead of %y, reason mentioned below
'1953-04-20'
#^all four digit of year
使用%Y
,而不是%y
因爲:
%y
:顯示最後兩位數年份的
%Y
:顯示所有四位數年份的