如何使用tzutc()

问题描述 投票:0回答:2

我缺少什么,如何让这个功能发挥作用?

import dateutil.parser
import datetime

my_date = datetime.datetime(2000, 1, 1, 0, 0, 0, 000000, tzinfo=tzutc())

print(my_date)

给我错误:

NameError: name 'tzutc' is not defined
python datetime timezone nameerror
2个回答
88
投票

您没有导入它:

from dateutil.tz import tzutc

0
投票

可以使用标准库传递 UTC 等时区信息,而不是第三方库对象

tzutc

Python>=3.11

您可以专门使用

datetime.UTC
来表示 UTC。

from datetime import datetime, UTC

my_date = datetime(2000, 1, 1, 0, 0, 0, tzinfo=UTC)

您可以验证

datetime(2000, 1, 1, 0, 0, 0, tzinfo=tzutc()) == my_date
确实是True。

Python>=3.9

您也可以使用

zoneinfo.ZoneInfo
。只需将时区作为字符串(例如“UTC”)传递即可初始化 IANA 时区。您可以使用其名称设置各种其他时区(它使用
tzdata
来查找名称);您可以通过
zoneinfo.available_timezones()
查看所有可能的名称。

from datetime import datetime
from zoneinfo import ZoneInfo

my_date_1 = datetime(2000, 1, 1, 0, 0, 0, tzinfo=ZoneInfo("UTC"))

再次,您可以验证

datetime(2000, 1, 1, 0, 0, 0, tzinfo=tzutc()) == my_date_1
是否为 True。

Python>=3.2

在旧版本的Python中,您可以通过

datetime.timezone
设置UTC:

from datetime import datetime, timezone, timedelta
my_date_2 = datetime(2000, 1, 1, 0, 0, 0, tzinfo=timezone.utc)
my_date_3 = datetime(2000, 1, 1, 0, 0, 0, tzinfo=timezone(timedelta(0)))
© www.soinside.com 2019 - 2024. All rights reserved.