首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在Python中获取任意时区的当前偏移量

如何在Python中获取任意时区的当前偏移量
EN

Stack Overflow用户
提问于 2018-06-20 20:58:38
回答 1查看 635关注 0票数 0

我需要在Python中获取任意时区的当前偏移量。目前,我正在使用pytz库,并使用以下代码获取偏移量:

代码语言:javascript
复制
import datetime
import pytz
timezone = 'America/Punta_Arenas'
datetime.datetime.now(pytz.timezone(timezone)).utcoffset().total_seconds()/60/60
//prints -3
timezone = 'America/Santiago'
datetime.datetime.now(pytz.timezone(timezone)).utcoffset().total_seconds()/60/60
//prints -4

以‘美国/圣地亚哥’为例:今年(2018) DST被设定为5月13日,而2015年DST全年都被遵守,2014年被设定为4月27日。因此,在日期和年份上加上偏移量是'-3‘或'-4’。

我假设前面的代码不知道每个国家关于DST的政治决定,可能会根据固定的DST日期或类似的日期获得偏移量。既然我不知道datetimepytz的具体细节,我宁愿问,这个假设是正确的吗?

如果它不知道,我如何才能获得任何时区的实际电流偏移量?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-06-21 04:20:37

我假设前面的代码不知道每个国家关于夏令时的政治决定,可能会根据固定的夏令时日期或类似的日期得到偏移量。

你的假设是错误的。时区的政治变化通过TZ Database记录和发布。然后,这些更改将在数百个不同的库、平台和操作系统中实现--例如您提到的pytz库。

您所描述的对America/Santiago的更改反映在TZDB 2016c中,这是在pytz 2016.3中实现的。如果您使用的是pytz 2016.3或更高版本,那么您的代码就会意识到这一变化。

Pytz很好,但是您可能想要考虑使用dateutilVersion 2.5.2或更高版本包含此数据。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50948852

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档