Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.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中给定时区的标准UTC偏移量(无DST)_Python_Python 3.x_Datetime_Timezone Offset_Pytz - Fatal编程技术网

Python中给定时区的标准UTC偏移量(无DST)

Python中给定时区的标准UTC偏移量(无DST),python,python-3.x,datetime,timezone-offset,pytz,Python,Python 3.x,Datetime,Timezone Offset,Pytz,我有一个要求,即我需要根据标准UTC偏移量(无DST)对多个时区代码进行分组,例如,标准UTC偏移量值在4到6之间的所有时区都将是一个组的一部分,因此也是一个组的一部分 如何使用时区代码获取时区的标准UTC偏移量 我尝试了下面的方法,但它给了我DST的偏移量 pytz.timezone('Asia/Jerusalem').localize(datetime.datetime(2011,1,1)).strftime('%z') 您可以使用.dst()方法;它给出了DST的时间增量。如果从.utc

我有一个要求,即我需要根据标准UTC偏移量(无DST)对多个时区代码进行分组,例如,标准UTC偏移量值在4到6之间的所有时区都将是一个组的一部分,因此也是一个组的一部分

如何使用时区代码获取时区的标准UTC偏移量

我尝试了下面的方法,但它给了我DST的偏移量

pytz.timezone('Asia/Jerusalem').localize(datetime.datetime(2011,1,1)).strftime('%z')

您可以使用
.dst()
方法;它给出了DST的时间增量。如果从
.utcoffset()
中减去,则得到时区的“标准”UTC偏移量

from datetime import datetime
from zoneinfo import ZoneInfo

dt_woDST = datetime(2011,1,1, tzinfo=ZoneInfo('Asia/Jerusalem'))
# 2011-01-01 00:00:00+02:00 
dt_DST = datetime(2011,6,1, tzinfo=ZoneInfo('Asia/Jerusalem'))
# 2011-06-01 00:00:00+03:00

utcoff0 = (dt_woDST.utcoffset()-dt_woDST.dst()).total_seconds()
utcoff1 = (dt_DST.utcoffset()-dt_DST.dst()).total_seconds()

print(utcoff0, utcoff0 == utcoff1)
# 7200.0 True

注意:我在这里使用的是Python3.9的
zoneinfo
;当然,这也适用于使用
pytz
时区对象本地化的datetime对象。

什么是“标准UTC偏移”?你知道时区在一年中的不同时间有不同的偏移量吗?您的用例是否意味着您可以获得一个特定时间点的偏移量?或者您希望…始终不使用DST?标准UTC偏移量是为特定日期指定的偏移量。一些国家总是使用夏季时间,一些国家总是使用冬季时间,一些国家切换,一些国家使用半小时,只是为了与邻国有一个不同的时区。尽管跨越了5个时区,但中国使用相同的偏移量。我怀疑你所说的标准UTC偏移量是特定国家/时区的基本偏移量,该国家/时区仍然由国家法律定义。仅仅是基于longitude@Panagiotis如果某个时区总是使用相同的偏移量,则术语“冬季”和“夏季”没有任何意义。@deceze第二个选项,我需要不带DST的偏移量值。