Python - 将 24 个字符的人类可读日期格式(如"星期二 5 月 16 日 04:10:55 PDT 2017")转换为 yyyy-mm-dd?



我想将像 'Tue May 16 04:10:55 PDT 2017'这样的日期字符串转换为 yyyy-mm-dd格式。

我该怎么做?最好使用内置的Python2函数?

内置的dateutil.parser可以将文本解析为dateTime对象:

import dateutil.parser
datestr = 'Tue May 16 04:10:55 PDT 2017'
print dateutil.parser.parse(datestr)

这将打印

2017-05-16 04:10:55

要将其输入yyyy-mm-dd,您可以使用DateTime对象的strftime方法:

print dateutil.parser.parse(datestr).strftime('%Y-%m-%d')

这将打印

2017-05-16

我会使用parseDatetime解析字符串,然后使用 datetime格式化它:

import parsedatetime
cal = parsedatetime.Calendar()
parsed = cal.parseDT('Tue May 16 04:10:55 PDT 2017')
formatted = parsed[0].strftime('%Y-%m-%d')

您可以使用Avearge内置 dateTime 软件包。

import datetime
datetime.today()
datetime.time()