Rails:DateTime.strptime 需要 12 小时无填充 [英] Rails: DateTime.strptime need 12 hour no-padding
本文介绍了Rails:DateTime.strptime 需要 12 小时无填充的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在尝试使用 Datetime.strptime 解析指纹读取器的 xml 文件,但时间为 12 小时未填充,并且似乎没有 strftime 选项来读取此文件.我试过 %-I 但没用.
I am trying to parse a fingerprint reader's xml file using Datetime.strptime but the times are 12 hour not padded and there seems to be no strftime option to read this. I tried %-I but it did not work.
来自 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 数据包的片段
a snippet from the xml packet
<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=""/>
推荐答案
使用 %l
选项似乎解析得很好.
It seems to be parsing fine, using the %l
option.
凌晨 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
这篇关于Rails:DateTime.strptime 需要 12 小时无填充的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文