我正在尝试在Python中生成一个RFC 3339的UTC时间戳。到目前为止,我已经能够完成以下操作:
>>> d = datetime.datetime.now()
>>> print d.isoformat('T')
2011-12-18T20:46:00.392227
我的问题与设置UTC偏移量有关。
根据文档,classmethod
datetime.now([tz])
接受一个可选的tz
参数,其中 tz 必须是 tzinfo 子类的实例
,并且 datetime.tzinfo
是用于时区信息对象的抽象基类。
这就是我迷失的地方——为什么tzinfo是一个抽象类,我该如何实现它?
(注意: 在PHP中,只需使用timestamp = date(DATE_RFC3339);
即可轻松实现,这就是为什么我无法理解Python的方法如此复杂的原因...)
UTC
类的完整代码(表示UTC),一个FixedOffset
类(表示与UTC具有固定偏移量的时区,而非具有DST等的时区)以及其他一些类。 - ruakhLocalTimezone()
类解决了问题。 - Yarin