比较日期时间和时间会产生错误的结果
我正在使用Mongoid和Chronic gem。 Chronic生成Time对象,Mongoid Date对象生成DateTime对象。 所以在Mongoid中,当我今天想要的时候,我会这样做:
Lead.last.send('lead date') # => {DateTime}2015-03-30T00:00:00-04:00
在慢性病中,当我今天解析时,我得到了这个:
Chronic.parse('today') # => {Time}2015-03-30 23:00:00 -0400
并且我将这两者与==进行比较,它产生错误,即使它们是相同的日期。 当’引导日期’指向今天时,我需要以下查询来给出结果:
Lead.where("lead date" => Chronic.parse('today'))
我有什么选择?
此代码是否准确地复制了您的问题?
require 'chronic' require 'date' text = "2015-03-30T00:00:00-04:00" datetime = DateTime.parse(text) time = Chronic.parse(text) datetime == time #=> false
使用DateTime #to_time
方法或Time #to_datetime
方法:
datetime.to_time == time #=> true datetime == time.to_datetime #=> true