Ruby on rails rails——使用chronic将军事时间解析为AM/PM?
我一直在使用Chronic,自然语言解析器,它非常棒。我现在遇到的问题是,我无法解析军事时间,它会将我返回到某种形式的AM/PM时间,这对于用户来说是正常的Ruby on rails rails——使用chronic将军事时间解析为AM/PM?,ruby-on-rails,datetime,time,chronic,Ruby On Rails,Datetime,Time,Chronic,我一直在使用Chronic,自然语言解析器,它非常棒。我现在遇到的问题是,我无法解析军事时间,它会将我返回到某种形式的AM/PM时间,这对于用户来说是正常的 <%= Chronic.parse("next monday") %> 收益率=>2010年7月5日星期一12:00:00-0500 有没有一种方法可以让我将“周一7月5日12:00:00-0500 2010”解析为“周一7月5日上午5:00”,或者更好的方法是“上午5:00” 我知道一个,但我想一定有人以前处理过这个问
<%= Chronic.parse("next monday") %>
收益率=>2010年7月5日星期一12:00:00-0500
有没有一种方法可以让我将“周一7月5日12:00:00-0500 2010”解析为“周一7月5日上午5:00”,或者更好的方法是“上午5:00”
我知道一个,但我想一定有人以前处理过这个问题。慢性病不会返回字符串
Mon Jul 05 12:00:00 -0500 2010
相反,Chronic返回的是Time类的一个实例
由于erb需要字符串,因此将自动调用.to_s。那么真正发生的事情是:
<%= Chronic.parse("next monday").to_s %>
听起来您需要不同的输出格式。使用方法
==>上午5:00
或
==>7月5日星期一上午5:00
(我将把它作为一个练习留给读者,让他们找出如何把时间定在7月5日而不是7月5日,或是5:00而不是5:00,或者再问一个问题)
增加:
还请注意,您需要了解时区。慢性解析使用本地时间和本地时区。(服务器本地)这就是-0500的意思。您需要决定如何处理应用程序中的时区
<%= Chronic.parse("next monday").strftime("%I:%M %p") %>
==> 05:00 AM
or
<%= Chronic.parse("next monday").strftime("%A %B %I:%M %p") %>
==> Monday July 5 05:00 AM