rails .today?以UTC而不是时区进行评估

时间:2017-01-03 01:27:08

标签: ruby-on-rails datetime

我希望在今天的meeting_time时显示“今天”。 meeting_time以UTC格式保存,然后转换为本地时区:

<% meeting_time = meeting.meeting_time.in_time_zone("Eastern Time (US & Canada)") %>

<% meeting_time.today? %>在前一天晚上7点评估为真,因为“今天?”是我相信的UTC时间。

如何在不同的时区使用'today'方法? 我已经尝试过了:

<% meeting_time.today.in_time_zone("Eastern Time (US & Canada)")? %>

但这会引发错误。

谢谢!

1 个答案:

答案 0 :(得分:3)

在致电Time.zone = 'Eastern Time (US & Canada)'之前,先使用meeting_time.today?设置时区。请注意,这会将时区应用程序设置得很宽。您通常只需在配置文件中执行此操作。

<强>更新

根据您的需要使用Time.use_zone('Eastern Time (US & Canada)')

Time.use_zone('Eastern Time (US & Canada)') do
  meeting_time.today?
end