【问题标题】:Rails translate current date in another formatRails 将当前日期转换为另一种格式
【发布时间】:2014-04-14 19:59:08
【问题描述】:

在 Rails 中,我正在尝试本地化日期:

2.1.1 :005 > Date.today
 => Mon, 14 Apr 2014 
2.1.1 :006 > I18n.localize(Date.today)
 => "14/04/2014" 
2.1.1 :007 > 

第二个输出不是第一个的正确翻译!

你能帮帮我吗?

【问题讨论】:

    标签: ruby-on-rails rails-i18n i18n-gem


    【解决方案1】:

    你可以定义一个新的格式:

    en:
      date: # there is also a section for datetime and time
        formats:
          day_month_abbr: "%a, %d %b %Y"
    

    并像这样使用它:

    I18n.localize(Date.today, format: :day_month_abbr)
    # => "Mon, 14 Apr 2014"
    

    或者你可以覆盖默认格式:

    en:
      date:
        formats:
          default: "%a, %d %b %Y"
    

    然后你就不需要给出任何论据了:

    I18n.l(Date.today) #=> "Mon, 14 Apr 2014"
    

    所有可用于日期时间/时间/日期的通配符列表http://apidock.com/ruby/DateTime/strftime

    【讨论】:

    • 您的解决方案非常适合我。
    【解决方案2】:

    第二次上传其实是正确的翻译。

    如果您想自定义输出格式,请查看此处的文档: http://edgeguides.rubyonrails.org/i18n.html#adding-date-time-formats

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-08-27
      相关资源
      最近更新 更多