将24小时时间转换为12小时时间

2024-03-28 14:21:36 发布

您现在位置:Python中文网/ 问答频道 /正文

我有下面的时间列表,很难将其转换为以下内容:

第1步:转换为24小时格式的EST时间。在

第2步:转换为12小时EST时间格式。在

我在Python和Pandas中都尝试过这样做,我愿意使用任何最简单的方法。任何帮助都将不胜感激。在

['00:05', '17:07', '23:05', '23:05', '23:10', '23:10', '00:10', '00:15', 
'00:40', '01:40', '02:10']

Tags: 方法pandas列表格式时间est小时
1条回答
网友
1楼 · 发布于 2024-03-28 14:21:36

使用datetime,我们可以轻松实现您所要的:

>>> import datetime
>>> times = [ "08:00", "23:00" ]
>>> [datetime.datetime.strptime(time, "%H:%M").strftime("%I:%M %p") for time in times]
['08:00 AM', '11:00 PM']

这将用strptime读取您的time,然后在列表理解中用strftime输出它。要将其转换为没有夏令时的EST(即-05:00),可以使用pytz

^{pr2}$

它首先将时间标记为utcreplace(tzinfo=pytz.utc)),然后将其转换为ESTastimezone(pytz.timezone('EST')),然后将其重新格式化为12小时时间。在

更进一步,我想你想要的,就是在EDTEST分解成datetime)中获得今天的时间,我们可以从[这个问题][2]得到一个提示:

converted = []
tz = pytz.timezone('America/New_York')
for time in times:
    time = datetime.datetime.strptime(time, "%H:%M").time()
    converted.append(datetime.datetime.now(pytz.utc).replace(hour=time.hour, minute=time.minute).astimezone(tz).strftime("%I:%M %p"))

我要找的东西是:

['04:00 AM', '07:00 PM']

相关问题 更多 >