0

日付を YYYY-MMM-DD 形式でフォーマットしようとしています。それを指定した en.yml ファイルがあります。

formats:
  default: ! '%Y-%b-%d'

また、初期化フォルダーに date_time_formats.rb を作成しました。

Date::DATE_FORMATS[:default] = '%Y-%b-%d'
Time::DATE_FORMATS[:db]= '%Y-%b-%d'

environments.rbまた、同じコードをファイルに直接配置しようとしました。コンソールでデフォルトをテストすると、Date.now.to_s期待通りの「2012-Nov-10」が返されますが、私の見解では常に「2012-11-10」と表示されます。

と を使用してコントローラーに保存しようとしましたが、Date.nowそれでもDate.now.to_s同じ結果が得られます。

簡単なものが欠けているに違いないので、助けていただければ幸いです。

4

2 に答える 2

0

ビューで日付をローカライズすることもできます。

<%= l(Model.created_at) %>
于 2012-11-10T19:31:41.000 に答える
0

理由はわかりませんが、質問に対する答えを見つけました。ここでそれを説明するスタックの回答があります

基本的に、これらの 2 行のコードを environment.rb に追加しました。

Time::DATE_FORMATS.merge!({:db => '%m/%d/%Y', :uk_format => '%m/%d/%Y'})
Date::DATE_FORMATS.merge!({:db => '%m/%d/%Y', :uk_format => '%m/%d/%Y'})

そして今、すべてが計画どおりに機能しています。理解を深めるためにマージ機能に関するドキュメントを探しましたが、うまくいきませんでした。

于 2012-11-10T14:07:46.327 に答える