1

我正在尝试使用 Datetime.strptime 解析指纹读取器的 xml 文件,但时间是 12 小时未填充,并且似乎没有 strftime 选项来读取它。我试过 %-I 但它没有用。

从 API

Time (Hour, Minute, Second, Subsecond):
  %H - Hour of the day, 24-hour clock, zero-padded (00..23)
  %k - Hour of the day, 24-hour clock, blank-padded ( 0..23)
  %I - Hour of the day, 12-hour clock, zero-padded (01..12)
  %l - Hour of the day, 12-hour clock, blank-padded ( 1..12)

来自 xml 数据包的片段

<ROW Pin="142" Name="142" sTime="8/12/2013 8:14 PM" VerifyFlag="Fingerpint" MachineName="Office" Abnormite=""/>
<ROW Pin="163" Name="163" sTime="8/12/2013 8:16 PM" VerifyFlag="Fingerpint" MachineName="Office" Abnormite=""/>
<ROW Pin="103" Name="103" sTime="8/13/2013 12:03 AM" VerifyFlag="Fingerpint" MachineName="Office" Abnormite=""/>
<ROW Pin="101" Name="101" sTime="8/13/2013 12:03 AM" VerifyFlag="Fingerpint" MachineName="Office" Abnormite=""/>
<ROW Pin="401" Name="401" sTime="8/13/2013 12:36 AM" VerifyFlag="Fingerpint" MachineName="Office" Abnormite=""/>
<ROW Pin="505" Name="505" sTime="8/13/2013 2:17 AM" VerifyFlag="Fingerpint" MachineName="Office" Abnormite=""/>
4

1 回答 1

2

%l使用该选项似乎可以很好地解析。

凌晨 2 点 17 分

> DateTime.strptime("8/13/2013 2:17 AM", "%m/%d/%Y %l:%M %p")
 => Tue, 13 Aug 2013 02:17:00 +0000 

下午 2 点 17 分

> DateTime.strptime("8/13/2013 2:17 PM", "%m/%d/%Y %l:%M %p")                                                                                 
 => Tue, 13 Aug 2013 14:17:00 +0000
于 2013-08-16T17:21:50.363 回答