【问题标题】:Datetime from params not saved correctly in the database参数中的日期时间未正确保存在数据库中
【发布时间】:2013-04-20 06:57:14
【问题描述】:

我有以下情况。用户从 Rails 的日期和时间选择框中输入日期和时间,在控制器中,方法 create,我有以下参数:

"event"=>
  {"title"=>"tet",
   "start_date(1i)"=>"2013",
   "start_date(2i)"=>"4",
   "start_date(3i)"=>"26",
   "end_date(1i)"=>"2013",
   "end_date(2i)"=>"4",
   "end_date(3i)"=>"31",
   "start_time(1i)"=>"2013",
   "start_time(2i)"=>"4",
   "start_time(3i)"=>"26",
   "start_time(4i)"=>"10",
   "start_time(5i)"=>"05",
   "end_time(1i)"=>"2013",
   "end_time(2i)"=>"4",
   "end_time(3i)"=>"26",
   "end_time(4i)"=>"10",
   "end_time(5i)"=>"05"}

如果我这样做

   @event = Event.new(params[:event])

输出是

=> #<Event id: nil, start_date: "2013-04-26", title: "tet", created_at: nil, updated_at: nil, owner_id: 0, owner_type: "", archived: false, end_date: "2013-05-01", start_time: "2013-04-26 10:05:00", end_time: "2013-04-26 10:05:00">

end_date与params中的不一样

时区

返回

=> (GMT+02:00) 耶路撒冷

为什么会这样?

【问题讨论】:

    标签: ruby-on-rails ruby ruby-on-rails-3 timezone


    【解决方案1】:

    没有 4 月 31 日,所以可能会在 4 月 30 日(5 月 1 日)之后的第二天结束

    【讨论】:

    • 哇,看起来你是对的:D,所以这是 Rails 的错:-s
    猜你喜欢
    • 2019-10-30
    • 2016-06-09
    • 2017-02-14
    • 2016-08-17
    • 1970-01-01
    • 2014-08-25
    • 1970-01-01
    • 2018-02-10
    相关资源
    最近更新 更多