在转换为EST之前,我应该知道datetime.now()时区吗?

时间:2017-11-22 22:06:30

标签: python datetime pytz

我必须在EST术语上做一堆时间计算,这两个打印语句中的第二个是确保datetime.now()将从世界上任何地方返回适当的TZ感知EST时间的适当方法吗?我假设他们现在都返回相同值的原因是因为我的本地时间 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

1 个答案:

答案 0 :(得分:1)

无论您身在何处,都会同时打印。我不在美国东部时间,他们都给你你的当地时间。本地时间来自默认参数:

print(datetime.now())

您的第一行指定您想要EST的时间。第二个指定UTC,但将其转换为EST。

这会为你清除功能吗?