时间的before和after判断

先写一个方法。

 

    module BeforeAndAfter

      LEFT_SIDE_LATER  = 1
      RIGHT_SIDE_LATER = -1

      def before?(input_time)
        (self <=> input_time) == RIGHT_SIDE_LATER
      end

      def after?(input_time)
        (self <=> input_time) == LEFT_SIDE_LATER
      end
    end

    Time.send :include, BeforeAndAfter

 

具体示例:

 

2.minutes.ago.after? Time.now      # => false
Time.now.before? 2.hours.from_now  # => true

 

你可能感兴趣的:(BEFORE)