如何更改时区?

How to change the timezone?

所以 Python 的默认时间是伦敦时间,但我正在尝试将其更改为 EDT/New 约克时间。这就是我所做的:

import datetime

time = datetime.datetime.now()
print('{}:{}'.format(time.strftime('%I'), time.strftime('%M')))

我想让它成为美国东部时间,所以我查找了实现它的方法,但每次我得到不同的东西并且它不起作用。我很困惑。

P.S 我正在使用 onlineGDB 作为编译器,所以有些东西不起作用。

你试过pytz了吗?

from pytz import timezone
EDT = timezone('America/New_York')
time = EDT.localize(datetime.datetime.now())

print('{}:{}'.format(time.strftime('%I'), time.strftime('%M')))

now classmethod 有一个 tz 参数,您应该使用它来设置适当的时区;例如

from datetime import datetime
from dateutil.tz import gettz

print(datetime.now(gettz('America/New_York')))
>>> 2020-09-28 02:56:19.063552-04:00

如果您使用在线 gdb Python 调试器,此代码也可以正常工作。