gpt4 book ai didi

ruby-on-rails - Rails 中的日期时间比较失败

转载 作者:数据小太阳 更新时间:2023-10-29 07:14:29 26 4
gpt4 key购买 nike

由于某些原因,比较总是失败,请从 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 > 23:15:00。

请注意,我在 ubuntu 和 Rails 3.1 下使用 ruby​​ ruby​​ 1.9.3p0

非常感谢任何帮助

最佳答案

您的时区有问题:

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

你看,你的 game_date 属性有一个 +0000 TimeZone,而 DateTime.now 有一个 +0330

试试这个:

@game.game_date.to_datetime > Time.zone.now

关于ruby-on-rails - Rails 中的日期时间比较失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14966788/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com