我有以下格式的日期,用于命名zip文件:
Apr 15 2014 16:21:16 UTC
我想使用Python将其转换为UTC数字。 python是否识别3个字符的月份?
答案 0 :(得分:2)
使用:
import datetime
datetime.datetime.strptime(yourstring, '%b %d %Y %H:%M:%S UTC')
%b
是缩写的月份名称。默认情况下,无论使用何种环境变量,Python都使用C
(英语)语言环境。
演示:
>>> import datetime
>>> yourstring = 'Apr 15 2014 16:21:16 UTC'
>>> datetime.datetime.strptime(yourstring, '%b %d %Y %H:%M:%S UTC')
datetime.datetime(2014, 4, 15, 16, 21, 16)
该值是时区中性的,对于UTC时间戳很好,前提是您不要将本地对象混合到混合中(例如坚持datetime.datetime.utcnow()
和类似的方法)。
答案 1 :(得分:2)
更简单的方法是使用dateutil:
>>> from dateutil import parser
>>> parser.parse("Apr 15 2014 16:21:16 UTC")
datetime.datetime(2014, 4, 15, 16, 21, 16, tzinfo=tzutc())
处理时区,它也支持其他常见的日期时间格式。