将RFC3339格式转换为标准日期/时间 [复制]

Convert RFC3339 Format to Standard Date/Time [duplicate]

提问人:C. Ayers 提问时间:10/12/2023 最后编辑:FObersteinerC. Ayers 更新时间:10/15/2023 访问量:65

问:

一直在搜索很多帖子,但我似乎无法掌握如何简单地将RFC3339字符串格式从 API 调用转换为标准中央时区。这是我正在尝试做的:

from datetime import datetime, timedelta
from pytz import timezone
import pytz

#Initial Value from API
eventStart = "2023-10-11T06:10:35Z"

#Convert from String to Datetime
subDateTime = datetime.strptime(eventStart, '%Y-%m-%dT%H:%M:%SZ')

#Setup Central Timezone
utc = pytz.utc
central = timezone('US/Central')

cstTime = central.localize(subDateTime)
print(cstTime)

cstTime = 2023-10-11 06:10:35-05:00

我现在正在尝试将其转换为如下所示:10-11-2023 1:10

我相信有一种更有效的方法可以完成我上面正在尝试的事情。谢谢!

时间 日期 时间格式 python-datetime rfc3339

评论

0赞 Dave Newton 10/12/2023
最后,您问如何设置日期格式?
0赞 C. Ayers 10/12/2023
格式化或转换。不知道最有效的方法是什么。
1赞 C. Ayers 10/14/2023
自己想通了。cstTime.strftime('%m-%d-%Y %I:%M %p')
1赞 FObersteiner 10/14/2023
请注意,不会将字符串解析为 UTC 日期时间。您必须使用而不是文字 Z。如果忽略这一点,则结果将是错误的,具体取决于运行此代码的系统的时区。'%Y-%m-%dT%H:%M:%SZ'%z
1赞 FObersteiner 10/15/2023
您可能还可以简化一些事情;例如,用于解析字符串(例如,请参阅此处),使用 Python 3.9 内置的 zoneinfo 而不是 pytz 或更新版本的时区标识符(“US/Central”可以是“America/Chicago”)。看看我链接的问题。fromisoformat

答: 暂无答案