# File lib/rufus/scheduler/zotime.rb, line 212 def self.extract_iso8601_zone(s) m = s.match( /[0-2]\d(?::?[0-6]\d(?::?[0-6]\d))?\s*([+-]\d\d(?::?\d\d)?)\s*\z/) return nil unless m zs = m[1].split(':') zs << '00' if zs.length < 2 zh = zs[0].to_i.abs return nil if zh > 24 return nil if zh == 24 && zs[1].to_i != 0 zs.join(':') end