gpt4 book ai didi

Python 日期时间 : use strftime() with a timezone-aware date

转载 作者:行者123 更新时间:2023-12-01 16:12:42 29 4
gpt4 key购买 nike

假设我有这样的日期d:

>>> d 
datetime(2009, 4, 19, 21, 12, tzinfo=tzoffset(None, -7200))

如您所见,它是“时区感知”的,有 2 小时的偏移量,utctime 是

>>> d.utctimetuple() 
time.struct_time(tm_year=2009, tm_mon=4, tm_mday=19,
tm_hour=23, tm_min=12, tm_sec=0,
tm_wday=6, tm_yday=109, tm_isdst=0)

那么,真正的 UTC 日期是 2009 年 3 月 19 日23:12:00,对吗?

现在我需要将日期格式化为字符串,我使用

>>> d.strftime('%Y-%m-%d %H:%M:%S.%f') 
'2009-04-19 21:12:00.000000'

这似乎没有考虑到这个偏移量。如何解决这个问题?

最佳答案

除了 @Slam 已经回答的内容之外:

如果你想输出没有任何偏移的UTC时间,你可以这样做

from datetime import timezone, datetime, timedelta
d = datetime(2009, 4, 19, 21, 12, tzinfo=timezone(timedelta(hours=-2)))
d.astimezone(timezone.utc).strftime('%Y-%m-%d %H:%M:%S.%f')

参见datetime.astimezone在 Python 文档中。

关于Python 日期时间 : use strftime() with a timezone-aware date,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48724902/

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