在转换为 EST 之前,我应该让 datetime.now() 知道时区吗?
Should I make datetime.now() timezone aware before converting to EST?
我必须根据 EST 条款进行大量时间计算,两个打印语句中的第二个是否是确保 datetime.now()
将 return 适当的 TZ 感知 EST 时间的适当方法在世界上任何地方?我假设它们现在 return 具有相同值的原因是因为我的当地时间 是 EST。我的逻辑是让它在 UTC 中识别 TZ,然后转换为 EST,所以我从不依赖 "local" 时间。
from datetime import datetime
from pytz import timezone
EST = timezone('America/New_York')
print(datetime.now(EST))
print(datetime.now(timezone('UTC')).astimezone(EST))
给出:
2017-11-22 16:58:55.236498-05:00
2017-11-22 16:58:55.237080-05:00
无论您身在何处,这些都会在同一时间打印。我不在美国东部时间,他们都给出 你的 当地时间。当地时间来自默认参数:
print(datetime.now())
您的第一行指定您想要 EST 时间。第二个指定 UTC,但将其转换为 EST。
这是否为您清理了功能?
我必须根据 EST 条款进行大量时间计算,两个打印语句中的第二个是否是确保 datetime.now()
将 return 适当的 TZ 感知 EST 时间的适当方法在世界上任何地方?我假设它们现在 return 具有相同值的原因是因为我的当地时间 是 EST。我的逻辑是让它在 UTC 中识别 TZ,然后转换为 EST,所以我从不依赖 "local" 时间。
from datetime import datetime
from pytz import timezone
EST = timezone('America/New_York')
print(datetime.now(EST))
print(datetime.now(timezone('UTC')).astimezone(EST))
给出:
2017-11-22 16:58:55.236498-05:00
2017-11-22 16:58:55.237080-05:00
无论您身在何处,这些都会在同一时间打印。我不在美国东部时间,他们都给出 你的 当地时间。当地时间来自默认参数:
print(datetime.now())
您的第一行指定您想要 EST 时间。第二个指定 UTC,但将其转换为 EST。
这是否为您清理了功能?