Python 转换TZ格式
我正在从API中读取一些信息,时间显示为: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
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)。