在rails 4中转换ISO8601日期时间格式

时间:2014-10-04 15:33:16

标签: ruby-on-rails datetime ruby-on-rails-4 iso8601

我通过Rails 4应用程序中的Restforce API从Salesforce请求一个对象列表。当我在每个对象上请求日期和时间字段时,我以iso8601格式接收。例如,在我看来,日期和时间显示如下:

2014-10-03T22:37:15.000+0000    

在我看来,我有:

<td><%= transaction.Recorded_On__c %></td>

我希望能够以某种方式在Recorded_On__c上调用strftime但是,当我这样做时,我得到一个未定义的方法错误。我还尝试过date_select(transaction.Recorded_On__c)并收到语法错误。 最后,我希望将日期显示为月份(&#34; 2月和#34;),日期(&#34; 20&#34;),年份(&#34; 2014年)和#34;。< / p>

2 个答案:

答案 0 :(得分:1)

你可以使用I18n,你必须创建你可以在这里找到的en.yml:

I18n Rails

<td><%= l transaction.Recorded_On__c.to_date, format: :long %></td>

答案 1 :(得分:1)

首先,您需要将字符串转换为日期或时间,然后使用I18n.l方法指定所需的格式。

<td><%= I18n.l "2014-10-04T22:49:02+04:00".to_time, format: "%b.%d.%Y" %></td>