# 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