使用Python将字符串转换为格式化的日期时间字符串
我正在尝试将字符串“20091229050936”转换为“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' object has no attribute 'strftime'
显然,我犯了一个错误:时间错了,它是一个日期时间对象!它有一个日期和时间组件!
>>>import datetime
>>>s = datetime.strptime("20091229050936", "%Y%m%d%H%M%S")
给 AttributeError: 'module' object has no attribute 'strptime'
我是怎么意思将字符串转换为格式化的日期字符串?
解决方案
time.strptime
返回time_struct
; time.strftime
接受a time_struct
作为可选参数:
>>>s = time.strptime(page.editTime(), "%Y%m%d%H%M%S")
>>>print time.strftime('%H:%M %d %B %Y (UTC)', s)
给 05:09 29 December 2009 (UTC)
本文首发于Python黑洞网,博客园同步跟新