2016-06-29 78 views
1

它可以比较DateTime S和Date小号直接:如何检查如果一个DateTime的日期等于某一特定日期

d = Date.new(2016, 6, 27) 
dt = DateTime.new(2016, 6, 22, 10, 12, 11) 

d > dt # => true 
d <= dt # => false 

但是,使用==运营商来检查DateTime的日期是相同的一些Date总是返回false,即使他们有相同的日期:

d = Date.new(2016, 6, 27) 
dt = DateTime.new(2016, 6, 27, 10, 20, 59) 
d == dt # => false 
d >= dt # => false 
d < dt # => true 

我认为,在这种情况下,d将被强制为01等价,这将解释d < dt为真。

那么,如何检查dtd的日期是否相同呢?

回答

6

当提出这个问题时,我想DateTime应该有一个方法来获得它的日期部分。我看着它,然后我发现DateTime#to_date

d == dt.to_date # => true 

应该也只是发布答案,因为我发现在谷歌对此没有直接的结果。

相关问题