Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/296.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Python中获取任何时区的当前偏移量_Python_Datetime_Timezone_Pytz_Datetimeoffset - Fatal编程技术网

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

如何在Python中获取任何时区的当前偏移量,python,datetime,timezone,pytz,datetimeoffset,Python,Datetime,Timezone,Pytz,Datetimeoffset,我需要获取Python中任何时区的当前偏移量。目前,我正在使用pytz库,并使用此代码获得偏移量: 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.dateti

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

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日期或诸如此类的内容获得偏移量。既然我不知道
datetime
pytz
的具体细节,我宁愿问,这个假设正确吗

如果它不知道,我如何获得任何时区的实际当前偏移量

我假设前面的代码不知道每个国家关于DST的政治决定,并且可能会根据固定的DST日期或诸如此类的内容获得偏移量

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

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

Pyz很好,但是你可能想考虑使用。或者更高的数据

我假设前面的代码不知道每个国家关于DST的政治决定,并且可能会根据固定的DST日期或诸如此类的内容获得偏移量

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

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


Pyz很好,但是你可能想考虑使用。或者更高的数据。

不太多:@stephernauch你说不太多是什么意思?“没有那么多”关于所述代码的意识?你读过链接吗?@Stephernauch是的,这是一个可下载的数据库。我在寻找一种API类型的系统。pytz使用该数据库。不太多:@stephernauch你说不太多是什么意思?“没有那么多”关于所述代码的意识?你读过链接吗?@Stephernauch是的,这是一个可下载的数据库。我正在寻找一种API类型的系统。pytz使用该数据库。谢谢你的完整回答,@Matt Johnson。如果我使用PyTZ或dateutil,如果TZ数据库发生更改(例如:某个国家决定不实施某些DST更改),我必须更新它们,对吗?确实如此。时区变化不规则且不可预测。掌握最新信息是至关重要的。另请参见:特别是底部标题为“对软件开发人员的建议”的部分。感谢您提供了非常完整的答案,@Matt Johnson。如果我使用PyTZ或dateutil,如果TZ数据库发生更改(例如:某个国家决定不实施某些DST更改),我必须更新它们,对吗?确实如此。时区变化不规则且不可预测。掌握最新信息是至关重要的。另请参见:特别是底部标题为“对软件开发人员的建议”的部分。