4

私は Rails の I18N にあまり詳しくないので、ご容赦ください。カスタムの日付と時刻の形式を設定しようとしています:

#config/locales/en.yml
en:
  date:
    formats:
      long_dateweek: "%A, %B %d, %Y"
  time:
    formats:
      very_short: "%H:%M"

しかし、それらを使用しようとすると、デフォルトのフォーマットが得られます:

1.9.3p194 :001 > Time.now.to_date.to_s(:long_dateweek)
 => "2012-08-22" 
1.9.3p194 :002 > Time.now.to_time.to_s(:very_short)
 => "2012-08-22 16:12:47 -0700" 

コンソール (さらにはサーバー) を再起動しようとしましたが、無駄でした...何が欠けていましたか?

4

2 に答える 2

3

I18n.l次の方法を使用する必要があります。

1.9.3p194 :001 > I18n.l Time.now.to_date, :format => :long_dateweek
 => "Wednesday, August 22, 2012" 
1.9.3p194 :002 > I18n.l Time.now, :format => :very_short
 => "23:03"

lビューでヘルパーメソッドを使用することもできます。詳細については、このRailsガイドを参照してください。

于 2012-08-23T02:04:59.547 に答える
3

@alexsanford1 が正しい答えを持っています。ビューで動作するように以下を変更しました。

<%= l Time.now, :format => :very_short %>
于 2012-08-23T01:27:40.520 に答える