ISO 8601 时间表示
国际标准 ISO 8601 描述了日期和时间的字符串表示。这种格式的两个简单示例是
2010-12-16 17:22:15
20101216T172215
(都代表 2010 年 12 月 16 日),但该格式还允许亚秒级分辨率时间和指定时区。这种格式当然不是 Python 特有的,但它适用于以可移植格式存储日期和时间。有关此格式的详细信息,请参阅Markus Kuhn entry。
我建议使用这种格式将时间存储在文件中。
在此表示中获取当前时间的一种方法是使用 Python 标准库中 time 模块中的 strftime:
>>> from time import strftime
>>> strftime("%Y-%m-%d %H:%M:%S")
'2010-03-03 21:16:45'
可以使用 datetime 类的 strptime 构造函数:
>>> from datetime import datetime
>>> datetime.strptime("2010-06-04 21:08:12", "%Y-%m-%d %H:%M:%S")
datetime.datetime(2010, 6, 4, 21, 8, 12)
最强大的是 Egenix mxDateTime 模块:
>>> from mx.DateTime.ISO import ParseDateTimeUTC
>>> from datetime import datetime
>>> x = ParseDateTimeUTC("2010-06-04 21:08:12")
>>> datetime.fromtimestamp(x)
datetime.datetime(2010, 3, 6, 21, 8, 12)
参考文献