PHP4でタイムゾーンのオフセットを取得したい

PHP5では DateTimeZone クラスがあるので簡単にオフセットを得られるが、PHP4では若干手間がかかる上に指定のタイムゾーンは得られない。
現在のタイムゾーンでのオフセットを得る場合以下の関数を使う。

function getTimeZoneOffset()
{
    $tz = localtime(0,true);
    $offset = $tz['tm_hour'] * 3600 + $tz['tm_min'] * 60;
    return $offset;
}

タイムスタンプに0を指定することで、現在使用しているタイムゾーンの基準時が得られる。この基準時と1970年1月1日の差がオフセットになる。


使い方

echo getTimeZoneOffset();

//実行結果
32400

この32400は、3600*9,つまり9時間を表している。JSTはGMT+9:00なので正しいオフセット時間が取得できたことになる。