time.now现在红宝石1.8.7 vs红宝石2?

时间:2014-01-29 16:25:00

标签: ruby-on-rails upgrade ruby-2.0 ruby-1.8.7

目前我正在将我的应用程序从ruby 1.8.7升级到ruby 2。 我得到了以下问题日期时间。

Ruby 1.8.7控制台:

u=User.find :last
 => #<User id: 1191, login: "srivaishvi@gmail.com", name: "Sri Lakshmi", email: "srivaishvi.local@gmail.com" , created_at: "2014-01-27 12:09:04", updated_at: "2014-01-28 15:57:23"> 
u.updated_at="1/13/2014"
 => "1/13/2014" 
u.save
 => true 

Ruby 2控制台:

u=User.find :last
 => #<User id: 1191, login: "srivaishvi@gmail.com", name: "Sri Lakshmi", email: "srivaishvi.local@gmail.com" , created_at: "2014-01-27 12:09:04", updated_at: "2014-01-28 15:57:23"> 
u.updated_at="1/13/2014"
 => "1/13/2014" 
u.save
 *****ArgumentError: argument out of range*****

我想在Ruby 2中使用Ruby 1.8.7日期时间格式。我想继续使用我在Ruby 1.8.7中使用的格式。

2 个答案:

答案 0 :(得分:1)

确定。现在我了解你的要求。在这种情况下,您可以在整个应用程序中更改默认格式。请按照链接中提到的步骤进行操作

http://blog.nicoschuele.com/posts/cheatsheet-to-set-app-wide-date-and-time-formats-in-rails

答案 1 :(得分:0)

这不是更新updated_at字段的正确方法。记录将会更新,但不会是您真正想要的日期。

>> u.updated_at = "1/13/2014"
=> "1/13/2014"
>> u.save
=> true
>> u.updated_at
=> Wed, 29 Jan 2014 18:12:51 UTC +00:00