ruby-on-rails – 格式化日期对象以显示可读取的日期

以下是我想显示的内容:

May 13, 2012

以下是正在显示的内容:

2012-05-13

我搜索了一些答案,并引导我进入“Formatting Dates and Floats in 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
Date.to_s与Time.to_s不同。你的postdate是一个Date,所以你可能想看看strftime

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

甚至还可以将您自己的自定义日期格式添加到Rails应用程序中:
Need small help in converting date format in ruby

翻译自:https://stackoverflow.com/questions/11837171/formatting-a-date-object-to-display-a-human-readable-date

转载注明原文:ruby-on-rails – 格式化日期对象以显示可读取的日期