【发布时间】:2012-01-23 07:00:38
【问题描述】:
我正在尝试在 Python 中生成 RFC 3339 UTC 时间戳。到目前为止,我已经能够做到以下几点:
>>> d = datetime.datetime.now()
>>> print d.isoformat('T')
2011-12-18T20:46:00.392227
我的问题是设置 UTC 偏移量。
根据docs,类方法datetime.now([tz])采用可选的tz参数,其中tz must be an instance of a class tzinfo subclass和datetime.tzinfo是an abstract base class for time zone information objects.
这就是我迷路的地方- tzinfo 为什么是一个抽象类,我应该如何实现它?
(注意:在PHP中它就像timestamp = date(DATE_RFC3339);一样简单,这就是为什么我不明白为什么Python的方法如此复杂......)
【问题讨论】:
-
Further down 在您链接到的同一个文档中,它解释了如何实现它,并给出了一些示例,包括
UTC类(代表 UTC)的完整代码,FixedOffset类(表示与 UTC 有固定偏移的时区,而不是具有 DST 和诸如此类的时区),以及其他一些。 -
@ruakh- 谢谢,我错过了这些例子-
LocalTimezone()类成功了。 -
刚发现这个类似的问题:ISO Time (ISO 8601) in Python?
标签: python datetime iso8601 rfc3339