Flowdock
-(other) public

Subtracts an interval of time and returns a new TimeWithZone object unless the other value acts_like? time. Then it will return a Float of the difference between the two times that represents the difference between the current object’s time and the other time.

Time.zone = 'Eastern Time (US & Canada)' # => 'Eastern Time (US & Canada)'
now = Time.zone.now # => Mon, 03 Nov 2014 00:26:28.725182881 EST -05:00
now - 1000          # => Mon, 03 Nov 2014 00:09:48.725182881 EST -05:00

If subtracting a Duration of variable length (i.e., years, months, days), move backward from #time, otherwise move backward from #utc, for accuracy when moving across DST boundaries.

For instance, a time - 24.hours will go subtract exactly 24 hours, while a time - 1.day will subtract 23-25 hours, depending on the day.

now - 24.hours      # => Sun, 02 Nov 2014 01:26:28.725182881 EDT -04:00
now - 1.day         # => Sun, 02 Nov 2014 00:26:28.725182881 EDT -04:00

If both the TimeWithZone object and the other value act like Time, a Float will be returned.

Time.zone.now - 1.day.ago # => 86399.999967
Show source
Register or log in to add new notes.