Python 转换TZ格式

Python 转换TZ格式,python,date,datetime,time,Python,Date,Datetime,Time,我正在从API中读取一些信息,时间显示为: 2021-01-29T13:29:19.668Z 然而,我想将其理解为: Jan 29, 2021 @ 1:29pm 有没有办法通过图书馆做到这一点?或者我必须自己创造一些东西。你可能想探索一下钟摆是Python的日期时间变得简单 只需使用以下软件安装: $ pip install pendulum 适用于您的案例的用法: import pendulum dt = pendulum.parse("2021-01-29T13:29:19

我正在从API中读取一些信息,时间显示为:

2021-01-29T13:29:19.668Z
然而,我想将其理解为:

Jan 29, 2021 @ 1:29pm
有没有办法通过图书馆做到这一点?或者我必须自己创造一些东西。

你可能想探索一下<代码>钟摆是Python的
日期时间
变得简单

只需使用以下软件安装:

$ pip install pendulum
适用于您的案例的用法:

import pendulum

dt = pendulum.parse("2021-01-29T13:29:19.668Z")
print(dt.format("MMM DD, YYYY @ h:mm A"))

输出:

Jan 29, 2021 @ 1:29 PM
Jan 29, 2021 @ 8:29 AM
Timezone('America/Toronto')
2021-01-29T13:29:19.668000-05:00
Jan 29, 2021 @ 1:29 PM
编辑:要在
EST
中获取时间(修改时间),只需执行以下操作:

import pendulum

dt = pendulum.parse("2021-01-29T13:29:19.668Z")
print(dt.in_tz("America/Toronto").format("MMM DD, YYYY @ h:mm A"))
输出:

Jan 29, 2021 @ 1:29 PM
Jan 29, 2021 @ 8:29 AM
Timezone('America/Toronto')
2021-01-29T13:29:19.668000-05:00
Jan 29, 2021 @ 1:29 PM
但是,如果您不想修改输出,只想设置时区,请尝试以下操作:

dt = pendulum.parse("2021-01-29T13:29:19.668Z").set(tz="America/Toronto")
print(dt.timezone)
print(dt)
print(dt.format("MMM DD, YYYY @ h:mm A"))
输出:

Jan 29, 2021 @ 1:29 PM
Jan 29, 2021 @ 8:29 AM
Timezone('America/Toronto')
2021-01-29T13:29:19.668000-05:00
Jan 29, 2021 @ 1:29 PM

输出:
2021年1月29日下午1:29时

我使用了datetime模块。 并使用split函数将日期与时间以及其他内容分开

import datetime

DT = "2021-01-29T13:29:19.668Z"

date,time = DT.split("T")

Year, Month, Day = date.split("-")

Hour, Minute, Seconds = time.split(":")

x = datetime.datetime( int(Year), int(Month), int(Day), int(Hour), int(Minute) )

x = x.strftime("%b %d, %Y @ %I:%M %p")

output = ''.join(( x[:-2], x[-2:].lower() ))

print(output)

这太完美了。再稍微转一下。如果这是格林尼治时间0点。我该怎么改成东部时间?(-5小时)我可以用:dt=dt.subtract(hours=5)@KevinLay来做这个,我已经更新了答案。还有一件小事。下午3:00显示为下午3:00我修正了这个问题:从:
print(dt.format(“MMM-DD,YYYY@h:ma”)
到:
print(dt.format(“MMM-DD,YYYY@h:ma”)
这回答了你的问题吗?顺便说一句,标题有误导性;您不会将时间转换为另一个区域(13:29==下午1:29)。