首页 > 解决方案 > 如何在 python 的 datetime 函数上指定时区?

问题描述

如何在datetime函数中指定像“亚马逊时间”(UTC -4)这样的时区?

我搜索的每一个参考资料都提到了创建一个tzinfo类,但这对于一个简单的问题来说似乎太大了。有没有更简单的方法来做到这一点?

from datetime import datetime

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

标签: pythondatetimetimezonetimezone-offset

解决方案


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

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 页面获得了时区名称。


推荐阅读