我正在尝试将从活动记录对象访问的日期时间值与当前时间进行比较。但是找不到任何内置方法来执行此操作。我试过使用
DateTime.now > @model_name.schedule_time
但这并没有给出预期的结果(可能是字符串比较)。
有没有准确的方法可以与当前时间进行比较。
在不知道@model_name.schedule_time
类型的情况下回答这个问题有点棘手。
但是,在 rails 中,ActiveSupport
提供了#past?
和#future?
的方法,以Date
、DateTime
和Time
实例,因此应该可以解决您的问题:
Date.yesterday.past? => true
Time.now.end_of_day.future? => true
DateTime.now.beginning_of_day.past? => true
如果@model_name.schedule_time
没有响应这些方法,那么它就不是这些类型之一,这解释了您尝试的比较不起作用。