使用Python的datetime模块,我可以获得UTC-11当前所在的年份吗?

时间:2012-12-26 16:08:30

标签: python django datetime timezone utc

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

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

2 个答案:

答案 0 :(得分:5)

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

>>> (datetime.datetime.utcnow() - datetime.timedelta(hours=11)).year
2012

答案 1 :(得分: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() ...(我的不好)