DateTime.now没有在Rails中设置时区

时间:2013-05-03 19:26:54

标签: ruby-on-rails time timezone

我的消息表中有一个名为“Archived”的列和一个按钮,按下该按钮会将当前时间和日期写入db列。现在我可以用它来写时间,但它是在错误的时区。在线查看后,我创建了以下代码,目前正在保存,但不是在正确的时区:

控制器代码

def archive_message
  @message = Message.find(params[:id])
  @message.archived = DateTime.now.in_time_zone "Central Time (US & Canada)"
  @message.save

  redirect_to '/messages'
end

我的路线(我相信这是好的)

post 'messages/:id/archive_message' => 'Messages#archive_message', :as => 'archive_message'

任何建议都非常感谢。

1 个答案:

答案 0 :(得分:1)

再次编辑:好的,这是UTC时间,所以它正在运行。谢谢大家。

编辑:我刚关闭了重新启动的所有内容,现在它还没有工作,它将时间再节省了5个小时,我不知道为什么。

在config / application.rb中 将以下内容添加到模块代码

config.time_zone = 'Central Time (US & Canada)'
config.active_record.default_timezone = :local

和我的控制器

@message.archived = DateTime.current

谢谢大家