我有以下格式的日期,用于命名zip文件:
Apr 15 2014 16:21:16 UTC
我想使用Python将其转换为UTC数字。python能识别3个字符的月份吗?
使用:
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)
该值与时区无关,如果不将本地对象混合到混合中(例如,坚持使用datetime.datetime.utcnow()
和类似方法),则UTC时间戳也可以。
一种更简单的方法是使用dateutil:
>>> from dateutil import parser
>>> parser.parse("Apr 15 2014 16:21:16 UTC")
datetime.datetime(2014, 4, 15, 16, 21, 16, tzinfo=tzutc())
时区是可处理的,它还支持其他常见的日期时间格式。