如何在python的datetime函数上指定时区?

How can I specify a timezone on python's datetime functions?

本问题已经有最佳答案,请猛点这里访问。

如何在datetime函数中指定类似"amazon time"(UTC-4)的时区?

我搜索的每一个引用都提到创建一个tzinfo类,但对于一个简单的问题来说,这似乎太困难了。有更简单的方法吗?

1
2
3
4
from datetime import datetime

# Why can't I do something like this?
datetime.utcnow(offset=-4)


您可以将时区传递给now函数:

1
2
3
4
5
6
import datetime
import pytz

datetime.datetime.now(pytz.timezone('America/Manaus'))

# => datetime.datetime(2019, 3, 4, 16, 38, 41, 584695, tzinfo=<DstTzInfo 'America/Manaus' AMT-1 day, 20:00:00 STD>)

我从这个wiki页面得到时区名称。