Changed so that we are sure that we are always comparing the same type and timezone.
New version that fixes problem with ActiveSupport::TimeWithZone#between not behaving the same as Time#between