加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读