Ruby 利用时间,现在,在两者之间?看看今天是否在两个日期之间

Ruby 利用时间,现在,在两者之间?看看今天是否在两个日期之间,ruby,time,Ruby,Time,我有一个订阅对象,它具有start\u date和stop\u date属性。我想看看今天是否在这两个时间段之间。我做到了: Time.now # => 2018-09-20 22:07:15 -0500 subscription.start_date # => Wed, 19 Sep 2018 subscription.stop_date # => Fri, 21 Sep 2018 Time.now.between? subscription.

我有一个订阅对象,它具有
start\u date
stop\u date
属性。我想看看今天是否在这两个时间段之间。我做到了:

Time.now                # => 2018-09-20 22:07:15 -0500
subscription.start_date # => Wed, 19 Sep 2018
subscription.stop_date  # => Fri, 21 Sep 2018
Time.now.between? subscription.start_date, subscription.stop_date # => false

Time.now.between?
似乎不准确,我也不太清楚原因。这里怎么了?这似乎应该行得通。9月20日介于9月19日和9月21日之间,但它仍然被解读为错误。

因此我找到了解决问题的方法。我不得不使用
Time.now.to_date.between?
而不是
Time.now.between?
进行此更改后,它最终返回了
true
,正如我预期的那样。

因此我找到了解决问题的方法。我必须使用
Time.now.to\u date.between?
而不是
Time.now.between?
进行此更改后,它最终返回了我所期望的
true

也许你有不同的时区。是
订阅。开始日期
结束日期
字符串?开始日期和停止日期是日期属性。我认为即使在不同的时区,日期也应该是准确的。当你将当前时间转换为日期时,你会得到什么,2018年9月20日也许您有不同的时区。
订阅。
开始日期
结束日期
字符串。
开始日期
停止日期
是日期属性。我认为即使在不同的时区,日期也应该是准确的。当你将当前时间转换为日期时,你会得到什么?
[25]pry(#)time.now.to_date=>2018年9月20日周四
而不是
time.now.to_date
你可以用它来获取今天的日期。谢谢@Stefan。非常感谢!您可以使用来获取今天的日期,而不是
Time.now.to_date
。谢谢@Stefan。非常感谢!