下面是我想展示的内容:
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
4条答案
按热度按时间1yjd4xko1#
Date.to_s
与Time.to_s
不同。您的postdate
是Date
,因此您可能需要查看strftime
:甚至可以在Rails应用中添加自己的自定义日期格式:
Need small help in converting date format in ruby
ctrmrzij2#
to_formated_s函数已经为Rails中的
DateTime
对象提供了一些常见的人类可读格式。8hhllhi23#
搜索结果:10小时前
az31mfrm4#
要将created_at time转换为可读格式,请执行以下步骤
1.首先,将其转换为本地时间,如(UTC to local time)
时间状态Map= @用户.创建时间.本地时间
1.为了时间
时间_stmap.字符串时间(“%I:%M %p”)
1.日期
时间_stmap.字符串时间(“%B %d,%Y”)