我使用ruby gem“Chronic”来解析四位数字符串作为DateTime对象。我正在使用军事格式的时间(即:“0800”),这似乎是从文件中有效的格式。
在大多数情况下,Chronic正确地以这种格式分析时间 - 但是总是解析以“12”开头的四位数字符串作为第二天的00:XX AM,而不是12:XX当天的PM。
例如:
>> Chronic.parse("1234")
=> Thu Sep 17 00:34:00 -0600 2009
我看到如果我在小时和分钟之间放一个冒号,我会得到所需的输出:
>> Chronic.parse("12:34")
=> Wed Sep 16 12:34:00 -0600 2009
但是我想要传递没有冒号的值,如下所示:
>> Chronic.parse("1234")
=> Wed Sep 16 12:34:00 -0600 2009
为了让Chronic将“1234”解释为当天下午12:34,我需要传递给解析器的字符串是什么?
答案 0 :(得分:0)
我不确定,但看起来它可能是一个错误。我的猜测是你在代码的这个角落里结束了:
http://github.com/mojombo/chronic/commit/c7d9591acf5179345cbc916bd509c48acee8e744