例如,我试图将 2008-09-26T01:51:42.000Z 转换为 09/26/2008。最简单的方法是什么?
最简单的方法是使用dateutil.parser.parse()将日期字符串解析为带有时区信息的datetime对象,然后使用strftime()获取所需格式。
import dateutil.parser
d = dateutil.parser.parse('2008-09-26T01:51:42.000Z')
print(d.strftime('%m/%d/%Y')) #==> '09/26/2008'
我知道这是一个很老的问题,但你可以使用Python datetime.strptime()函数来完成它。
>>> from datetime import datetime
>>> date_format = "%Y-%m-%dT%H:%M:%S.%fZ"
>>> datetime.strptime('2008-09-26T01:51:42.000Z', date_format)
datetime.datetime(2008, 9, 26, 1, 51, 42)
"%Y-%m-%dT%X.%fZ"
:-) - Mangohero1>>> import time
>>> timestamp = "2008-09-26T01:51:42.000Z"
>>> ts = time.strptime(timestamp[:19], "%Y-%m-%dT%H:%M:%S")
>>> time.strftime("%m/%d/%Y", ts)
'09/26/2008'
请查看Python time
模块的文档以获取更多信息。
2008-09-26T01:51:42.000Z
是ISO8601日期格式,其格式非常多样化。如果您想解析这些日期,请参阅Python Wiki上的时间处理页面。该页面包含一些有用的模块链接。
def datechange(datestr):
dateobj=datestr.split('-')
y=dateobj[0]
m=dateobj[1]
d=dateobj[2]
datestr=d +'-'+ m +'-'+y
return datestr
import datetime
?你好像没有使用它。 - jhrrdateutil.parser.parse
将字符串对象转换为日期时间对象。该datetime
库用于处理此对象的日期时间字符串转换,即d.strftime
。 - addicted