Rails datetime - 在更新缺少年份的日期时插入当前年份

时间:2012-09-16 07:39:39

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

在我的页面上,我使用jquery datetimepicker来获取用户的日期和时间。当用户选择日期时间时,我得到的日期时间的格式是,例如:“星期五,9月21日,下午1:00”。我没有得到这一年,因为也获得四位数的年份使文本框的整个事情太长了。

当我将此日期(即9月21日星期五,下午1:00)传递回我的控制器,并使用update_attributes更新数据库中的日期时,插入的日期为“0000-09-21” 13:00:00.000000" 。因为我错过了当年的那一年,这一年变成了0000。我显然想要2012年。我有什么想法可以达到这个目的吗?请注意,我不想硬编码2012,但希望它能够获得当前年份。感谢。

1 个答案:

答案 0 :(得分:0)

试试这个

1.9.3p194 :012 > require 'date'
 => true

1.9.3p194 :013 > d= DateTime.parse("Fri, Sep 21, 1:00PM")
 => #<DateTime: 2012-09-21T13:00:00+00:00 ((2456192j,46800s,0n),+0s,2299161j)> 

你将获得当年。