如何将z中的unix时间戳转换为python中的日期时间

时间:2014-06-26 10:13:08

标签: python python-2.7 datetime

我将如何将此时间戳'20141031131429Z'转换为2014年10月31日的python

>>>datetime.datetime.strptime( "20141031131429Z", "%Y%m%d%H%M%S%Z" )

上面的代码给出了如下错误:

ValueError: time data '20141031131429Z' does not match format '%Y%m%d%H%M%S%Z'

2 个答案:

答案 0 :(得分:2)

删除%前面的Z

d = datetime.datetime.strptime("20141031131429Z", "%Y%m%d%H%M%SZ" )
print(d.strftime("%d %B %Y"))

输出:

31 October 2014

设置strftime() and strptime() behavior的文档。

答案 1 :(得分:0)

那不是unix时间戳(在strftime / strptime中用%s解析) - 看起来像iCalendar form #2(RFC 2445)。像iCalendar这样的模块可以帮助您解析,而无需硬编码使用哪种表单。

一旦有了datetime对象,它就可以用来检索任何其他格式:

>>> dt=datetime.datetime.strptime( "20141031131429Z", "%Y%m%d%H%M%SZ" )
>>> dt.strftime('%d %B %Y')
'31 October 2014'
>>> dt.strftime('%x')
'10/31/14'