如何将rails上的非ruby转换为可读格式?

时间:2014-08-14 10:13:25

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

无论如何在轨道上的红宝石中将此日期2014-08-13T22:11:18.138Z转换为更易读的格式,例如dd / mm / yyyy或2014年1月。

它来自parse.com数据库的createdAt字段。

我该如何转换?

我需要某种类型的正则表达式吗?

我是否可以使用内置的ruby代码为我进行转换?

3 个答案:

答案 0 :(得分:3)

你可以这样做:

// it will be parsed to the datetime in the timezone configured by rails app.
Time.zone.parse('2014-08-13T22:11:18.138Z').strftime('%d/%m/%Y')

答案 1 :(得分:1)

Date类为标准格式提供了大量内置转换。确定格式(在本例中为RFC3339),您将能够找到类似这样的内容:

require 'date'
return Date.rfc3339('2014-08-13T22:11:18.138Z')
 #<Date: 2014-08-13 ((2456883j,0s,0n),+0s,2299161j)>

答案 2 :(得分:0)

在您的语言环境en.yml

date:
    formats:
      # Use the strftime parameters for formats.
      # When no format has been given, it uses default.
      # You can provide other formats here if you like!
      default: "%d/%m/%Y"
      short: "%b %d"
      long: "%B %d, %Y"
在您的视图中

<%= I18n.l @entry.created_at, :format => :short %>