0

我将其发送到我的视图:

<%= @venue.eventdate %>

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

为 strftime 命令找到了这个站点并创建了一个自定义构建。在我看来,我愚蠢地将它添加到我的对象的末尾:

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

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

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

4

2 回答 2

0

鉴于客户端更了解自己的语言环境,这通常由客户端处理,例如 JS。

使用 JavaScript 将 UTC 日期时间转换为本地日期时间

如果你一心想做这个服务器端

在视图中显示当地时间

于 2013-01-03T04:27:46.457 回答
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 服务器。

于 2013-01-03T18:24:26.857 回答