我有一个日期列表如下:
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', . . .]
有什么方法,或者包/模块来完成这个任务吗?
您可以尝试使用第三方库dateutil的parser
,它通常非常擅长确定解析日期的正确方法(至少比我以前更好:))。的结果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']
您可以为此使用日期时间和时间模块。 http://docs.python.org/2/library/datetime.html http://docs.python.org/2/library/time.html
试试 datetime.datetime,它提供了 strptime 和 strftime 方法来完成这个任务。