繁体   English   中英

Python 将日期时间设置为 UTC 时区

[英]Python set datetime to UTC timezone

我有一个事件,我想在 Python 中触发,在周五早上和周日早上之间的每个周末。

我已经编写了一些适用于我的本地环境的代码,但我担心在部署到生产时,日期时间将被本地化并且触发器将不正确。 理想情况下,我希望所有内容都同步到 UTC,这是我的尝试 - 我想看看它是否正确,以及是否有人对如何使其更清洁有反馈。

(代码对我有用,但无论如何我都在正确的时区:))

from datetime import datetime
def eventTrigger():
    if((datetime.weekday(datetime.today()) == 4) and (datetime.now().utcnow.hour) > 9):
        return True
    elif ((datetime.weekday(datetime.today()) == 6) and (datetime.now().utcnow.hour) < 10):
        return True
    elif (datetime.weekday(datetime.today()) == 5):
        return True
    else:
        return False

我尝试阅读日期时间文档,但它非常令人困惑。

日期时间和时区令人困惑,您在这里确保深思熟虑是很好的。

首先,库pytz可以提供帮助

from datetime import datetime
import pytz

然后,您可以在eventTrigger()顶部定义todaynow变量,以可靠地使用 UTC:

now_utc   = datetime.now(pytz.utc) 
today_utc = now_utc.date()

如果您想使用 Python 3 标准库执行此操作并且不依赖于pytz

from datettime import datetime, timezone

now_utc = datetime.utcnow().replace(tzinfo=timezone.utc)
today_utc = now_utc.date()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM