我在字符串中以 '10:23:34 PM'
的格式输入了一些时间,我想将其转换为看起来像 '22:23 的日期时间: 45'
。我正在使用
datetime = posts['time'].apply(lambda x: datetime.strptime(x, '%I:%M:%S %p').strftime('%I:%M:%S'))
但是,这似乎忽略了 AM/PM 标记,并且所有信息都好像时间在上午一样,因此对于 '10:23:34 PM'
输入 I得到 '10:23:34'
作为输出,但它应该是 '22:23:45'
。我该如何解决这个问题?
最佳答案
你想要 %H
而不是 %I
:
In [44]:
d='10:23:34 PM'
pd.to_datetime(d).strftime('%H:%M:%S')
Out[44]:
'22:23:34'
%I
返回 12 小时制,你想 %H
返回 24 小时制,见 docs
我认为您可以在此处不使用 apply
来执行此操作:
datetime = pd.to_datetime(posts['time']).dt.strftime('%H:%M:%S')
注意这给你的是字符串而不是日期时间
关于python - Pandas - 将 AM/PM 格式更改为 24 小时制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42118338/