- (ActiveSupport::TimeWithZone)

    # File lib/active_support/time_with_zone.rb, line 197
        def -(other)
          # If we're subtracting a Duration of variable length (i.e., years, months, days), move backwards from #time,
          # otherwise move backwards #utc, for accuracy when moving across DST boundaries
          if other.acts_like?(:time)
            utc - other
          elsif duration_of_variable_length?(other)
            method_missing(:-, other)
          else
            result = utc.acts_like?(:date) ? utc.ago(other) : utc - other rescue utc.ago(other)
            result.in_time_zone(time_zone)
          end
        end