重新格式化日期Python

时间:2013-07-03 20:03:22

标签: python date web-scraping reformat reformatting

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

周一,2013年7月1日16:33:59 GMT

我不知道如何让他们进入

20130701

如果这是一个非常简单的问题,我道歉 - 我对python

有点新鲜 编辑:我试图在任何给定的日期执行此操作。我以7月1日为例,回想起来,我似乎在问一个不同的问题。所以我想我正在寻找能找到日期并重新格式化的东西

2 个答案:

答案 0 :(得分:4)

使用python-dateutil library

from dateutil import parser

dtobject = parser.parse(datestring)

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

如果要将结果格式化为(统一)字符串,请使用datetime.strftime() method

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'

答案 1 :(得分: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是Locale相当于AM或PM。