Rails UTC显示自定义日期

时间:2013-01-03 04:18:22

标签: ruby-on-rails ruby-on-rails-3 datetime time utc

我将此发送给我的观点:

<%= @venue.eventdate %>

显示UTC日期时间。 例如 2013-01-10 17:15:00 UTC

我找到了 this site for strftime command并创建了自定义内置版。 在我看来,我愚蠢地将其添加到我的对象的末尾:

<%= @venue.eventdate.strftime(%A, %e %B %Y at %l:%M %p) %>

例如(理想情况下) 2013年1月3日星期四上午4:08

当然它没有用。任何人都知道如何以简单的方式进行正确的转换?

2 个答案:

答案 0 :(得分:0)

这通常是在客户端处理类似JS的东西,因为客户端更了解它自己的语言环境。

Convert UTC date time to local date time using JavaScript

如果你一直在做这个服务器端

Display local time in view

答案 1 :(得分:0)

通常,您可以创建自定义日期方法。首先在config / initializers中创建一个date_formats.rb文件,例如创建一个这样的时间格式:

Time::DATE_FORMATS[:day_month_year] = "%A, %e %B %Y"

并在视图文件中使用此方法,例如“to_formatted_s(:day_month_year)”

<%= object.eventdate.to_formatted_s(:day_month_year)%> <%= object.created_at.strftime("%I:%M %p")%>

添加date_formats.rb文件后,不要忘记重启rails服务器。