0

我有一个包含几种不同格式日期的文件,并试图在 Python 中将它们全部转换为 YYYYMMDD 格式。大多数日期采用以下格式:

格林威治标准时间 2013 年 7 月 1 日星期一 16:33:59

我不知道如何让他们进入

20130701

如果这是一个非常简单的问题,我深表歉意——我对 python 有点陌生

编辑:我正在尝试在任何给定日期执行此操作。我以 7 月 1 日为例,回想起来好像我在问一个不同的问题。所以我想我正在寻找既能找到日期又能重新格式化它们的东西

4

2 回答 2

4

使用python-dateutil图书馆

from dateutil import parser

dtobject = parser.parse(datestring)

datutil.parser.parse()方法可识别多种日期格式,并返回一个datetime.datetime()object

如果您想再次将结果格式化为(统一)字符串,请使用该datetime.strftime()方法:

dtobject.strftime('%Y%m%d')

演示:

>>> from dateutil import parser
>>> parser.parse('Mon, 01 Jul 2013 16:33:59 GMT')
datetime.datetime(2013, 7, 1, 16, 33, 59, tzinfo=tzlocal())
>>> parser.parse('Mon, 01 Jul 2013 16:33:59 GMT').strftime('%Y%m%d')
'20130701'
于 2013-07-03T20:04:29.557 回答
0

这也可以通过以下方式实现:

import datetime
x = 'Mon, 01 Jul 2013 16:33:59 GMT'
''.join(str(datetime.datetime.strptime(x, '%a, %d %b %Y  %H:%M:%S %Z').date()).split('-'))

如果您的日期字符串中引入了任何其他参数,您可以包含指令。例如 %p 是区域设置的 AM 或 PM 等价物。

于 2013-07-03T20:33:53.320 回答