0

我正在使用 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,我必须将什么字符串传递给解析器?

4

1 回答 1

0

我不确定,但看起来它可能是一个错误。我的猜测是你最终会出现在代码的这个角落:

http://github.com/mojombo/chronic/commit/c7d9591acf5179345cbc916bd509c48acee8e744

于 2009-09-16T23:56:40.690 回答