4

我想知道 UTC-11 时区(进入新年的最后一个时区)当前所在的年份,但我不知道该怎么做。

我可以访问该pytz库以及 Django 的新timezone模块,并且我正在使用时区感知的 UTC 日期时间对象。

4

2 回答 2

5

最简单的方法是完全跳过时区处理,只使用timedelta(hours=11)从属性中减去datetime并查看year属性。

>>> (datetime.datetime.utcnow() - datetime.timedelta(hours=11)).year
2012
于 2012-12-26T16:24:01.623 回答
2

实际上,时区比这更棘手......您可能有具有相同偏移量但在节电日期等方面具有不同设置的时区(甚至更恶劣的行为:https ://stackoverflow.com/a/6841479 /289011 )

我认为对于这种特定情况,您可能会更好:

>>> "%s" % (datetime.datetime.utcnow() - datetime.timedelta(hours=11))
'2012-12-26 00:25:30.029864'

只为这一年:

>>> "%s" % (datetime.datetime.utcnow() - datetime.timedelta(hours=11)).year
'2012'

datetime.utcnow()编辑:是的,使用,而不是datetime.now()......(我的坏)是个好主意

于 2012-12-26T16:25:45.223 回答