Python 转换时区偏差
Python convert time zones deviation
我想使用 Python 将时间转换为 UTC 时间并进行比较。在我的实验中,东京时间有偏差,不知道是我方法错误还是bug?
代码
#!/usr/bin/env python3
import datetime
tz = pytz.timezone("Asia/Tokyo")
date = datetime.datetime.strptime(
'12:00',
'%H:%M'
)
date_with_tz = tz.localize(date)
print("Time in Tokyo\t\t: ", date_with_tz.strftime('%H:%M'))
date_as_utc = date_with_tz.astimezone(pytz.utc)
print("Time Tokyo in UTC\t: ", date_as_utc.strftime('%H:%M'))
print("Should 12 (Tokyo) -> 3 (UTC)")
输出
❯ ./time_zone.py
Time in Tokyo : 12:00
Time Tokyo in UTC : 02:41
UTC 时间应该是 3 而不是 2:41 ...这里发生了什么?
在这种情况下您不需要使用本地化。
import datetime, pytz
tokyo = datetime.datetime.now(pytz.timezone("Asia/Tokyo")).replace(hour=12, minute=0, second=0)
utc = tokyo.astimezone(pytz.utc)
print("Time Tokyo:", tokyo.strftime('%H:%M'))
print("Time UTC:", utc.strftime('%H:%M'))
print("Should 12 (Tokyo) -> 3 (UTC)")
我想使用 Python 将时间转换为 UTC 时间并进行比较。在我的实验中,东京时间有偏差,不知道是我方法错误还是bug?
代码
#!/usr/bin/env python3
import datetime
tz = pytz.timezone("Asia/Tokyo")
date = datetime.datetime.strptime(
'12:00',
'%H:%M'
)
date_with_tz = tz.localize(date)
print("Time in Tokyo\t\t: ", date_with_tz.strftime('%H:%M'))
date_as_utc = date_with_tz.astimezone(pytz.utc)
print("Time Tokyo in UTC\t: ", date_as_utc.strftime('%H:%M'))
print("Should 12 (Tokyo) -> 3 (UTC)")
输出
❯ ./time_zone.py
Time in Tokyo : 12:00
Time Tokyo in UTC : 02:41
UTC 时间应该是 3 而不是 2:41 ...这里发生了什么?
在这种情况下您不需要使用本地化。
import datetime, pytz
tokyo = datetime.datetime.now(pytz.timezone("Asia/Tokyo")).replace(hour=12, minute=0, second=0)
utc = tokyo.astimezone(pytz.utc)
print("Time Tokyo:", tokyo.strftime('%H:%M'))
print("Time UTC:", utc.strftime('%H:%M'))
print("Should 12 (Tokyo) -> 3 (UTC)")