选项: isoformat()
Python datetime
不支持军事时区后缀,例如UTC的'Z'后缀。以下简单的字符串替换可以解决问题:
In [1]: import datetime
In [2]: d = datetime.datetime(2014, 12, 10, 12, 0, 0)
In [3]: str(d).replace('+00:00', 'Z')
Out[3]: '2014-12-10 12:00:00Z'
str(d)
基本上与 d.isoformat(sep=' ')
请参阅:日期时间,Python标准库
选项: strftime()
或者您可以使用strftime
以达到相同的效果:
In [4]: d.strftime('%Y-%m-%d %H:%M:%SZ')
Out[4]: '2014-12-10 12:00:00Z'
注意:仅当您知道指定的日期为UTC时,此选项才有效。
请参阅:datetime.strftime()
附加:人类可读的时区
更进一步,您可能对显示人类可读的时区信息感兴趣,pytz
带有strftime
%Z
时区标志:
In [5]: import pytz
In [6]: d = datetime.datetime(2014, 12, 10, 12, 0, 0, tzinfo=pytz.utc)
In [7]: d
Out[7]: datetime.datetime(2014, 12, 10, 12, 0, tzinfo=<UTC>)
In [8]: d.strftime('%Y-%m-%d %H:%M:%S %Z')
Out[8]: '2014-12-10 12:00:00 UTC'