我这里有这段代码,目前可以在两个不同的 timezones 中找到时间。我想计算两个 timezones 之间的小时差。
def time_caluclator(timezone1, timezone2):
dt_utcnow = datetime.datetime.now(tz=pytz.UTC)
dt_1 = dt_utcnow.astimezone(pytz.timezone(timezone1))
dt_2 = dt_utcnow.astimezone(pytz.timezone(timezone2))
print(dt_1, dt_2)
这是代码,它将打印:
2022-05-15 00:44:22.031149+00:00 2022-05-15 01:44:22.031149+01:00
(第一个 timezone 是 Zulu,另一个是 WET)。
回答1
我会做两个嵌套的for循环,用空格和“:”将你的时间分成几个部分,这样你就可以获得单独的数字。然后它只是减法,如果您想具体说 timezone 代码,例如“EST”,则可能是字典
回答2
def time_caluclator(timezone1, timezone2):
off1 = pytz.timezone(timezone1).utcoffset(datetime.datetime.now())
off2 = pytz.timezone(timezone2).utcoffset(datetime.datetime.now())
return (off2 - off1).seconds // 3600
适用于 pytz timezones 例如“US/Eastern”、“Europe/Moscow”。