Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.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_Python 2.7_Timezone Offset - Fatal编程技术网

在Python中获取以秒为单位的时区偏移量

在Python中获取以秒为单位的时区偏移量,python,python-2.7,timezone-offset,Python,Python 2.7,Timezone Offset,我需要以秒为单位从UTC查找时区偏移量。以下是我正在尝试的: timeZoneSecondsOffset = calendar.timegm(time.gmtime()) - calendar.timegm(time.localtime()) 这有点管用。它给出了一个关闭一小时的值。我怎样才能得到更准确的结果 这对我很有用: import datetime import time for ts in 1435071821, 1419519821: # roughly, now and 6 m

我需要以秒为单位从UTC查找时区偏移量。以下是我正在尝试的:

timeZoneSecondsOffset = calendar.timegm(time.gmtime()) - calendar.timegm(time.localtime())
这有点管用。它给出了一个关闭一小时的值。我怎样才能得到更准确的结果

这对我很有用:

import datetime
import time

for ts in 1435071821, 1419519821: # roughly, now and 6 months ago
                                  # as reported by time.time()

    now = datetime.datetime.fromtimestamp(ts)
    utcnow = datetime.datetime.utcfromtimestamp(ts)
    offset = (now - utcnow).total_seconds()

    now = datetime.datetime.isoformat(now)
    utcnow = datetime.datetime.isoformat(utcnow)

    print now, utcnow, offset
在美国中央时区的我的电脑上运行时的结果:

2015-06-23T10:03:41 2015-06-23T15:03:41-18000.0
2014-12-25T09:03:41 2014-12-25T15:03:41-21600.0

我得到了正确的信息。不确定问题出在哪里。是否可能是您的
localtime()
?您是否补偿夏令时?Anthon,我应该如何补偿DST?谢谢。是不是一直休息一小时?如果是这样的话,为什么不多加(或减)一个小时呢?Handype,自从我昨天开始尝试这个功能以来,它一直处于关闭状态。我曾考虑增加一个小时,但这似乎是一个脆弱的解决方案,可能会因DST更改而中断。