【发布时间】:2011-08-05 18:17:26
【问题描述】:
我正在使用 Chronic 来解析日期,它会将字符串“8/15”解析为 2015 年 8 月 16 日。
关于如何让 Chronic 将 8/15 识别为当年 8 月 15 日的任何想法?
这里是测试代码:
Chronic.parse('8/15') #=> 'Sun Aug 16 12:00:00 -0400 2015'
【问题讨论】:
-
它看起来不像文档中指定的那样,但是我会尝试传递
:context => :past,看看是否有助于解析字符串。 parse 方法的文档位于此处chronic.rubyforge.org/classes/Chronic.html#M000001 -
不,我试过了。没用:(
-
好吧,您有几个选项可以解决这个问题。您可以修改获取数据的格式。您可以尝试通过附加年份来自己更正此数据,但这仅在数据始终采用此格式时才有效。或者你可以尝试寻找另一个库来解析日期。
-
我无法修改格式,因为格式是用户输入的。我可以使用正则表达式来捕捉这个用例并添加年份,但这似乎很恶心。我可能需要查看其他库。
-
啊!看看 Ruby 中的 DateTime 类。有一种方法可以让您指定自己的解析日期格式。 ruby-doc.org/stdlib/libdoc/date/rdoc/classes/…
标签: ruby-on-rails ruby chronic