我正在使用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'))
我有哪些选择?
答案 0 :(得分:0)
此代码是否准确复制了您的问题?
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