0
我正在實施驗證方法,檢查到期日期不在發佈日期之前的模型。我試過這個Ruby日期時間比較問題
def valid_date_interval
if self.expired_at && self.published_at
errors.add(:published_at, I18n.t('ubiquo.highlight.error_invalid_interval')) if self.expired_at <= self.published_at
end
end
但是,我比較兩個日期時間的結果對我來說沒有意義。兩個日期時間thar是同一時間被比較爲假。這裏有一些irb代碼:
(rdb:1) p self.published_at.to_i == self.expired_at.to_i
true
(rdb:1) p self.published_at.to_i == self.expired_at.to_i + 1
false
(rdb:1) p self.published_at == self.expired_at
false
(rdb:1) p self
#<Highlight id: nil, title: "MyString", published_at: "2011-06-02 10:22:05", expired_at: "2011-06-02 10:22:05", created_at: nil, updated_at: nil, program_id: 827572094>
任何人都可以啓發我如何這些比較工作?
乾杯!
可能重複。你可以試試這個http://stackoverflow.com/questions/4472851/date-time-comparison-in-ruby – 2011-06-01 11:47:19
沒有問題是完全不同的...... – DGM 2011-06-01 12:51:03