将字符串解析为日期时间,同时考虑熊猫中的AM/PM

C.L*_*Lee 3 python datetime date pandas

我试图 使用strftime格式将这种格式的字符串"2018 - 07 - 07 04 - AM"解析为pandas datetime.然而,在我看来,不承认之间的差别的格式AMPM.

这是我尝试过的:

pd.to_datetime("2018 - 07 - 07 04 - PM", format='%Y - %m - %d %H - %p').timestamp() Out[4]: 1530936000.0 pd.to_datetime("2018 - 07 - 07 04 - AM", format='%Y - %m - %d %H - %p').timestamp() Out[5]: 1530936000.0

注意上面两个字符串中的AMPM不同,但返回的是相同的timeStamp.

熊猫版:0.23.3

Python版本:3.5.4

cs9*_*s95 11

由于您正在解析12小时时间格式,因此您需要%I代替%H,否则说明%p符无效.

pd.to_datetime("2018 - 07 - 07 04 - PM", format='%Y - %m - %d %I - %p')
Timestamp('2018-07-07 16:00:00')
Run Code Online (Sandbox Code Playgroud)

此行为记录在文档中:

当与strptime()函数一起使用时,%p如果%I指令用于解析小时,则该指令仅影响输出小时字段.