# File lib/active_support/core_ext/time/calculations.rb, line 290
        def compare_with_coercion(other)
          # if other is an ActiveSupport::TimeWithZone, coerce a Time instance from it so we can do <=> comparison
          other = other.comparable_time if other.respond_to?(:comparable_time)
          if other.acts_like?(:date)
            # other is a Date/DateTime, so coerce self #to_datetime and hand off to DateTime#<=>
            to_datetime.compare_without_coercion(other)
          else
            compare_without_coercion(other)
          end
        end