如何计算 Python 中两个时区之间的时差?也就是说,我不想比较 TZ 感知的 datetime
对象并获得 timedelta
;我想比较两个 TimeZone
对象并获得一个 offset_hours
。 datetime
库中没有任何内容可以处理这个问题,pytz
也没有。 .
最佳答案
这是一个使用 Python 库 Pytz 的解决方案,它解决了夏令时结束时时间不明确的问题。
from pytz import timezone
import pandas as pd
def tz_diff(date, tz1, tz2):
'''
Returns the difference in hours between timezone1 and timezone2
for a given date.
'''
date = pd.to_datetime(date)
return (tz1.localize(date) -
tz2.localize(date).astimezone(tz1))\
.seconds/3600
以下示例分别计算了 1 月 1 日和 6 月 1 日 UTC 时间与澳大利亚时间之间的时差。请注意如何考虑夏令时。
utc = timezone('UTC')
aus = timezone('Australia/Sydney')
tz_diff('2017-01-01', utc, aus)
# 11.0
tz_diff('2017-06-01', utc, aus)
# 10.0
谢谢
关于python - 如何计算python中两个时区之间的时差?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46736529/