使用Python将字符串转换为格式化的日期时间字符串

我试图将一个字符串“20091229050936”转换为“05:09 2009年12月29日(UTC)”

>>>import time
>>>s = time.strptime("20091229050936", "%Y%m%d%H%M%S")
>>>print s.strftime('%H:%M %d %B %Y (UTC)')


AttributeError:’time.struct_time’对象没有属性’strftime’

显然,我犯了一个错误:时间错了,这是一个datetime对象!它有一个日期和时间组件!

>>>import datetime
>>>s = datetime.strptime("20091229050936", "%Y%m%d%H%M%S")


AttributeError:’module’对象没有属性’strptime’

我如何将字符串转换成格式化的日期字符串?

最佳答案
对于datetime对象,strptime是datetime类的static method,而不是datetime模块中的一个空闲函数:

>>> import datetime
>>> s = datetime.datetime.strptime("20091229050936", "%Y%m%d%H%M%S")
>>> print s.strftime('%H:%M %d %B %Y (UTC)')
05:09 29 December 2009 (UTC)

转载注明原文:使用Python将字符串转换为格式化的日期时间字符串 - 代码日志