2016-06-29 106 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 

應該也只是發佈答案,因爲我發現在谷歌對此沒有直接的結果。

相關問題