在Ruby中查找与今天匹配的对象

时间:2017-08-07 01:36:23

标签: ruby

我有一个日历对象,列出了许多对象事件。每个事件都包含一个start_date。所以当我打电话时

event.start_date it gives me "8/6/2017 3:00pm"

我希望能够在今天的日期找到所有活动。我正在使用慢性病。所以

Chronic.parse('today') would give me "8/6/2017 00:00:00" or something like it

我没有使用Rails只是Ruby。因此,我没有Rails附带的所有特殊方法来帮助我。

如果我输入特定日期,我可以使用

找到具有该特定日期的事件
event.start_date.starts_with?("8/6/2017") 

但我还没知道如何在今天的日期做到这一点。

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

time = Chronic.parse('today')
target_date = Chronic.parse('8/6/2017').to_date
puts time.to_date == target_date

Time课程(慢性回归)持有日期时间。 Date只保留日期。如果您将Time转换为Date,则会丢弃时间信息,然后您只能比较日期本身。

请注意,Date.todayChronic.parse('today').to_date相同(与Time.now.to_date相同)。另请注意Time课程除#to_date之外没有require 'time',但慢性病会为您做。