2013-03-12 119 views
3

我有日期的列表如下:如何使用python將日期轉換爲指定格式?

list_dates = ['2013-05-01', '15th Oct 2013', '01-05-13', '2013/FEB/05',. . .] 

我要的是:

list_dates = ['2013-05-01', '2013-10-15', '2013-05-01', '2013-02-05', . . .] 

有沒有什麼辦法,或者包/模塊來完成這個任務?

回答

8

您可以嘗試使用第三方庫dateutilparser,它通常非常擅長確定解析日期的正確方法(至少比我以前要好的方式:))。的parser.parse結果是一個datetime對象上,您可以撥打strftime與你想要的格式:

In [1]: from dateutil import parser 

In [2]: list_dates = ['2013-05-01', '15th Oct 2013', '01-05-13', '2013/FEB/05'] 

In [3]: [parser.parse(date).strftime('%Y-%m-%d') for date in list_dates] 
Out[3]: ['2013-05-01', '2013-10-15', '2013-01-05', '2013-02-05'] 
+0

當我嘗試此代碼想保存日期重新調整模型時,它拋出一個錯誤{匹配= date_re.match(值) TypeError:預期的字符串或緩衝區} – 2016-03-14 09:21:45

1

嘗試datetime.datetime,它提供strptime和strftime方法來完成這個任務。

相關問題