如何在 Python 中获取 EST 时区
How to get EST timezone in Python
我想用 Python 获取美国东部时间。我有以下代码:
import datetime
from pytz import timezone
import time
now_EST = datetime.datetime.today().astimezone(timezone('EST'))
print(now_EST)
输出为:
2022-03-29 09:52:55.130992-05:00
但是当我google EST 时区时,我发现现在的时间是 10:52 am EST,这基本上是正确的时间。
为什么我的代码显示的时间比正确时间早 1 小时?
夏令时。尝试“EST5EDT”
使用适当的 IANA time zone name 以避免缩写的歧义。
from datetime import datetime
import pytz
print(datetime.now(pytz.timezone("America/New_York")))
# 2022-03-29 11:20:30.917144-04:00
如果你恰好使用Python3.9或更高版本,请使用built-inzoneinfo模块设置时区(pytz已弃用):
from datetime import datetime
from zoneinfo import ZoneInfo
print(datetime.now(ZoneInfo("America/New_York")))
# 2022-03-29 11:20:30.917144-04:00
我想用 Python 获取美国东部时间。我有以下代码:
import datetime
from pytz import timezone
import time
now_EST = datetime.datetime.today().astimezone(timezone('EST'))
print(now_EST)
输出为:
2022-03-29 09:52:55.130992-05:00
但是当我google EST 时区时,我发现现在的时间是 10:52 am EST,这基本上是正确的时间。
为什么我的代码显示的时间比正确时间早 1 小时?
夏令时。尝试“EST5EDT”
使用适当的 IANA time zone name 以避免缩写的歧义。
from datetime import datetime
import pytz
print(datetime.now(pytz.timezone("America/New_York")))
# 2022-03-29 11:20:30.917144-04:00
如果你恰好使用Python3.9或更高版本,请使用built-inzoneinfo模块设置时区(pytz已弃用):
from datetime import datetime
from zoneinfo import ZoneInfo
print(datetime.now(ZoneInfo("America/New_York")))
# 2022-03-29 11:20:30.917144-04:00