我偶然发现使用慢性宝石的一个有趣的(并且有时令人费解)。
解析字符串1/21/13 2:20
:
Chronic.parse('1/21/13 2:20')
=> 2013-01-21 14:20:00 -0800
但是,如果0
前面有2
:
Chronic.parse('1/21/13 02:20')
=> 2013-01-21 02:20:00 -0800
现在,我可以将AM或PM放在字符串的末尾,这基本上会覆盖这种行为(所以前导0
是否存在并不重要),但这显然是一个额外的步骤解析,并否定使用慢性的许多优点。还有另一种方法可以恰当地处理这个领先的零问题吗?让我措手不及的是,这还没有被弄清楚。
我应该注意,我需要解析的字符串可能是上面两个例子中的任何一个。
答案 0 :(得分:1)
好吧,你可以减去12个小时:
time = Chronic.parse('1/21/13 2:20')
time -= - 12 * 60 * 60 if time.hour >= 12
#=> 2013-01-22 02:20:00 0800