Nic*_*ick 2 ruby activerecord datetime ruby-on-rails
我有一个可以从(m / d / yy)格式的文本字段接受日期的表单。
保存日期(使用ActiveRecord)时,它将被解析为年份“ 0014”而不是“ 2014”。以这个领域为例,我希望它总是将本世纪视为2000年。
这是控制台中的一个[失败]测试:
2.0.0-p247 :021 > g.update_attributes(:date_completed => "3/4/14")
(0.3ms) BEGIN
SQL (0.7ms) UPDATE `goals` SET `date_completed` = '0014-03-04', `updated_at` = '2014-06-30 21:36:06' WHERE `goal_tracker_goals`.`id` = 10
(1.7ms) COMMIT
=> true
2.0.0-p247 :023 > g.date_completed
=> Sun, 04 Mar 0014
Run Code Online (Sandbox Code Playgroud)
我假设有一个ActiveRecord方法可以覆盖某个地方或要设置的配置值。
谢谢!
尝试:
g.date_completed=Date.parse("3/4/14")
Run Code Online (Sandbox Code Playgroud)
要绕过默认语言环境,请尝试:[ 更新问题后,这是正确的答案 ]
g.date_completed=Date.strptime("3/4/14","%m/%d/%y") # %m: month, %d: day, %y: 2-digit year
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1805 次 |
| 最近记录: |