# File lib/tzinfo/tzdataparser.rb, line 147
    def self.parse_offset(offset)
      raise "Invalid time: #{offset}" if offset !~ /^(-)?([0-9]+)(:([0-9]+)(:([0-9]+))?)?$/
      
      negative = !$1.nil?      
      hour = $2.to_i
      minute = $4.nil? ? 0 : $4.to_i
      second = $6.nil? ? 0 : $6.to_i
      
      seconds = hour
      seconds = seconds * 60
      seconds = seconds + minute
      seconds = seconds * 60
      seconds = seconds + second
      seconds = -seconds if negative
      seconds
    end