PEARライブラリのDateは危険

リビジョン1.13までのTimeZoneクラスはinDaylightTime()で

putenv("TZ=".$env_tz)

を無条件に実行する。

http://cvs.php.net/viewvc.cgi/pear/Date/Date/TimeZone.php?revision=1.1&view=markup

リビジョン1.14で

if ($env_tz != '') { putenv('TZ=' . $env_tz); }

に変更され、リビジョン1.17で環境変数TZを設定する暴挙をあらため、全面書き直しされている。

PEARライブラリの(リビジョン1.52までの)Dateクラスのcompare()は、convertTZ()、getOffset()を経由して、上記のinDayLightTime()をコールする。
PHPって糞。