3

我有一个日期列表如下:

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', . . .]

有什么方法,或者包/模块来完成这个任务吗?

4

3 回答 3

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']
于 2013-03-12T07:23:01.050 回答
1

您可以为此使用日期时间和时间模块。 http://docs.python.org/2/library/datetime.html http://docs.python.org/2/library/time.html

于 2013-03-12T07:21:57.063 回答
1

试试 datetime.datetime,它提供了 strptime 和 strftime 方法来完成这个任务。

于 2013-03-12T07:22:11.880 回答