# 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.nil? ? 0 : $2.to_i minute = $3.nil? ? 0 : $3.to_i second = $4.nil? ? 0 : $4.to_i seconds = hour seconds = seconds * 60 seconds = seconds + minute seconds = seconds * 60 seconds = seconds + second seconds = -seconds if negative seconds end