gpt4 book ai didi

带时区的 Python datetime.now()

转载 作者:行者123 更新时间:2023-12-03 18:42:19 26 4
gpt4 key购买 nike

我有一个 float 时区(例如 4.0)。
我要构建datetime与给定的时区。

我试过这个,

datetime.now(timezone)

但它抛出
TypeError: tzinfo argument must be None or of a tzinfo subclass, not type 'float'

所以我想知道如何制作 tzinfo从 float ?

最佳答案

如果你使用 Python 3.2 或更新版本,你需要创建一个 datetime.timezone() object ;它需要一个偏移量作为 datetime.timedelta() :

from datetime import datetime, timezone, timedelta

timezone_offset = -8.0 # Pacific Standard Time (UTC−08:00)
tzinfo = timezone(timedelta(hours=timezone_offset))
datetime.now(tzinfo)
对于较早的 Python 版本,使用外部库为您定义时区对象是最简单的方法。
dateutil library包括采用数字偏移量来创建时区对象的对象:
from dateutil.tz import tzoffset

timezone_offset = -8.0 # Pacific Standard Time (UTC−08:00)
tzinfo = tzoffset(None, timezone_offset * 3600) # offset in seconds
datetime.now(tzinfo)

关于带时区的 Python datetime.now(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30712064/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com