gpt4 book ai didi

来自 ISO8601 的带有时区的 Python3 strptime

转载 作者:太空宇宙 更新时间:2023-11-03 13:33:47 25 4
gpt4 key购买 nike

如何将 ISO8601 时间格式的字符串转换为 python3 日期时间。这是我的时间:

2017-03-03T11:30:00+04:00

以及我尝试的方式:

datetime.strptime(appointment['datetime'], '%Y-%m-%dT%H:%M:%S%z')

这里的问题是,我不知道如何在 .strptime 方法的格式参数中表示 +4:00 时区。

最佳答案

注意 %z在 python 中,日期时间不包含冒号:

%z: UTC offset in the form +HHMM or -HHMM (empty string if the object is naive) e.g. +0000, -0400, +1030

但是,示例中的日期字符串确实有一个冒号,例如+04:00。只要不包括那个冒号,您就可以解析日期。

>>> s = "2017-03-03T11:30:00+04:00"
>>> datetime.strptime(s[:len(s)-3] + s[len(s)-2:], '%Y-%m-%dT%H:%M:%S%z')
datetime.datetime(2017, 3, 3, 11, 30, tzinfo=datetime.timezone(datetime.timedelta(0, 14400)))

我建议您使用这个功能强大的库 python-dateutil :

>>> from dateutil import parser
>>> parser.parse("2017-03-03T11:30:00+04:00")
datetime.datetime(2017, 3, 3, 11, 30, tzinfo=tzoffset(None, 14400))

关于来自 ISO8601 的带有时区的 Python3 strptime,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42571404/

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