从“2022-02-18T00:00:00.000Z”中提取 HH:MM PM

Can*_*ice 3 python datetime iso8601

2022-02-18T00:00:00.000Z该字符串中的信息表明该时间为07:00 PM东部时间 (ET),该信息显示正确,因为 ET 比 UTC 晚 5 小时。我们如何(a)首先从字符串转换为(日期时间?,时间戳?),然后将结果时间对象转换为07:00 PM?已经尝试过的:

from datetime import datetime
datetime.strptime('2022-02-18T00:00:00.000Z', '%Y-%m-%dT%H:%M:%S.%f')
Run Code Online (Sandbox Code Playgroud)

...这会引发错误time data '2022-02-18T00:00:00.000Z' does not match format '%Y-%m-%d %H:%M:%S.%f'。这里做错了什么?

Can*_*ice 9

总结上面评论中的所有内容:

datetime.strptime('2022-02-18T00:00:00.000Z', '%Y-%m-%dT%H:%M:%S.%f%z').astimezone(ZoneInfo('America/New_York')).strftime('%I:%M %p')
Run Code Online (Sandbox Code Playgroud)

返回正是我们所需要的。