ruby-on-rails – Rails中的DateTime比较失败
发布时间:2020-12-17 03:30:46 所属栏目:百科 来源:网络整理
导读:由于某种原因,比较总是失败,请从Rails控制台检查: irb(main):021:0 @game.game_date.class= ActiveSupport::TimeWithZoneirb(main):026:0 @game.game_date= Tue,19 Feb 2013 23:15:00 UTC +00:00irb(main):022:0 @game.game_date.to_datetime= Tue,19 Feb 2
由于某种原因,比较总是失败,请从Rails控制台检查:
irb(main):021:0> @game.game_date.class => ActiveSupport::TimeWithZone irb(main):026:0> @game.game_date => Tue,19 Feb 2013 23:15:00 UTC +00:00 irb(main):022:0> @game.game_date.to_datetime => Tue,19 Feb 2013 23:15:00 +0000 irb(main):019:0> DateTime.now => Tue,19 Feb 2013 23:48:38 +0330 irb(main):020:0> @game.game_date.to_datetime > DateTime.now => true 怎么比较总是错的?我也尝试过这个: @game.game_date.to_time > Time.now.to_tim 结果也是如此,但显然它应该是假的,因为23:48>二十三时15分00秒. 请注意,我在ubuntu和Rails 3.1下使用ruby ruby?? 1.9.3p0 任何帮助将受到高度赞赏 解决方法
您遇到TimeZone问题:
irb(main):022:0> @game.game_date.to_datetime => Tue,19 Feb 2013 23:48:38 +0330 你看,当DateTime.now有一个0330时,你的game_date属性有一个0000 TimeZone 试试这个: @game.game_date.to_datetime > Time.zone.now (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |