Cam*_*Cam 2 python python-3.x pandas
我有下面发布的时间列表,我很难将其转换为以下内容:
第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']
Run Code Online (Sandbox Code Playgroud)
我们可以轻松实现您的目标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']
Run Code Online (Sandbox Code Playgroud)
这会读取你time的内容,strptime然后strftime在列表理解中输出它.要将此转换为EST没有夏令时(即-05:00),您可以使用pytz:
>>> import pytz
>>> [datetime.datetime.strptime(time, "%H:%M").replace(tzinfo=pytz.utc).astimezone(pytz.timezone('EST')).strftime("%I:%M %p") for time in times]
['03:00 AM', '06:00 PM']
Run Code Online (Sandbox Code Playgroud)
首先将时间标记为utc(replace(tzinfo=pytz.utc)),然后将其转换为EST,然后再将其astimezone(pytz.timezone('EST'))重新格式化为12小时.
更进一步到我想你想要的,即今天的时间EDT(EST因素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"))
Run Code Online (Sandbox Code Playgroud)
这将构建我认为您正在寻找的东西:
['04:00 AM', '07:00 PM']
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1289 次 |
| 最近记录: |