code: private function parseTimezone($tz)
      {
          if ($tz === "Z") {
              return 0;
          }
          
          $coronIndex = strpos($tz, ":");
          $sign       = substr($tz, 0, 1);
          $hour       = substr($tz, 1, $coronIndex - 1);
          $minute     = substr($tz, $coronIndex + 1);
          $offset     = $hour * 60 + $minute;
          return ($sign === "-") ? $offset : - $offset;
      }
docs: タイムゾーン文字列をパースして, 時差を分単位で返します.
  NULL が指定された場合 (タイムゾーン文字列がなかった場合),
  このオブジェクトに設定されている externalOffset の値を返します.
  
  @param  string $tz NULL, "Z", または "+h:mm", "-h:mm" 形式の文字列
  @return int