重新格式化日期Python



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

2013年7月1日星期一16:33:59 GMT

我不知道如何让他们进入

20130701

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

编辑:我试着在任何一个特定的日期都这样做。我以7月1日为例,回想起来,我似乎在问一个不同的问题。所以我想我正在寻找一种既能找到日期又能重新格式化的东西

使用python-dateutil库:

from dateutil import parser
dtobject = parser.parse(datestring)

datutil.parser.parse()方法识别各种各样的日期格式,并返回一个datetime.datetime()对象。

如果您想再次将结果格式化为(统一)字符串,请使用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'

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

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是Locale的AM或PM等价物。

相关内容

  • 没有找到相关文章

最新更新