我在字符串中以'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标记,并且所有信息都显示为时间在AM中,而'10:23:34 PM'
输入我得到'10:23:34'
作为输出,但是它应该是'22:23:45'
。我该如何解决这个问题?
答案 0 :(得分:4)
您希望%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')
注意这会给你字符串而不是日期时间