如何将日期字符串转换为“2011-02-15T12:00+00:00”的Python datetime对象
如何把这个日期字符串 "Wed, Feb, 15, 2011 15:00" 转换成 "2011-02-15T12:00+00:00" 这种格式的 Python 日期时间对象?
2 个回答
0
如果你知道日期字符串的具体格式,你可以把它拆分开来,提取出每一个值。
我不太清楚+00:00部分是什么意思,所以暂时先不考虑它。
str="2011-02-15T12:00+00:00"
year=int(str[:4])
month=int(str[5:7])
day=int(str[8:10])
hour=int(str[11:13])
minute=int(str[14:16])
date = datetime(year,month,day,hour,minute)
7
这看起来是ISO 8601格式。你可以试试使用iso8601这个包——你可以通过pip
或者easy_install
来安装它。
很多文件格式和标准都使用ISO 8601日期格式(比如2007-01-14T20:34:22+00:00)来以一种中立且不模糊的方式存储日期。这个简单的模块可以解析常见的日期格式,并返回日期时间对象。
>>> import iso8601 >>> iso8601.parse_date("2007-06-20T12:34:40+03:00") datetime.datetime(2007, 6, 20, 12, 34, 40, tzinfo=<FixedOffset '+03:00'>) >>> iso8601.parse_date("2007-06-20T12:34:40Z") datetime.datetime(2007, 6, 20, 12, 34, 40, tzinfo=<iso8601.iso8601.Utc object at 0x100ebf0>)