42

ここに私が表示したいものがあります:

May 13, 2012

表示される内容は次のとおりです。

2012-05-13

いくつかの回答を検索したところ、「 Ruby で日付と浮動小数点数をフォーマットする 」にたどり着きました。ここでは、可能な解決策について言及しています。

<p class="date"><%= @news_item.postdate.to_s("%B %d, %Y") %></p>

ただし、これは出力をまったく変更しません。デバッグ エラーや例外は発生しません。

私はこれを行うことができ、それは完全に正常に動作します:

<p class="date"><%= Time.now.to_s("%B %d, %Y") %></p>

これが私の移行ファイルです(使用したデータ型を確認するため):

class CreateNewsItems < ActiveRecord::Migration
  def change
    create_table :news_items do |t|

      t.date :postdate

      t.timestamps
    end
  end
end
4

3 に答える 3

60

Date.to_sと同じではありませんTime.to_s。あなたpostdateは であるため、代わりに以下Dateを参照することをお勧めします。strftime

postdate.strftime("%B %d, %Y")

または、独自のカスタム日付形式を Rails アプリに追加することも検討してください:
Ruby で日付形式を変換する際に小さな助けが必要です

于 2012-08-07T00:11:10.227 に答える