gpt4 book ai didi

Python - 在 UTC 中获取时区感知当前时间的最简单和最连贯的方法?

转载 作者:行者123 更新时间:2023-11-28 21:20:48 27 4
gpt4 key购买 nike

datetime.now() 似乎没有附加时区信息。我想要 UTC 的当前时间。我该怎么办?

>>> from datetime import datetime
>>> y = datetime.now()
>>> y
datetime.datetime(2014, 3, 11, 11, 18, 33, 598489)

起初我认为 datetime.utcnow() 是显而易见的解决方案,但后来我发现它也没有附加时区信息(WTF?)。

>>> from datetime import datetime
>>> y = datetime.utcnow()
>>> y
datetime.datetime(2014, 3, 11, 16, 19, 40, 238810)

最佳答案

在 Python 3 中:

datetime.now(timezone.utc)

在 Python 2.x 中没有时区对象,但您可以编写自己的:

try:
from datetime import timezone
except ImportError:
from datetime import tzinfo, timedelta

class timezone(tzinfo):
def __init__(self, utcoffset, name=None):
self._utcoffset = utcoffset
self._name = name

def utcoffset(self, dt):
return self._utcoffset

def tzname(self, dt):
return self._name

def dst(self, dt):
return timedelta(0)

timezone.utc = timezone(timedelta(0), 'UTC')

然后您可以像在 Python 3 中一样执行 datetime.now(timezone.utc)

关于Python - 在 UTC 中获取时区感知当前时间的最简单和最连贯的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22329962/

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