在Python中获取以秒为单位的时区偏移量
我需要以秒为单位从UTC查找时区偏移量。以下是我正在尝试的:在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
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更改而中断。