O suporte a Date/time foi totalmente reescrito no PHP 5.1.x, e não utiliza mais as configurações de sistema para 'saber' o timezone em operação. Ao invés disso, irá utilizar na seguinte ordem:
A definição do timezone usando a função date_default_timezone_set() (se não houver)
A variável de ambiente TZ (se não estiver vazia)
"magical" guess (se o sistema operacional suportar)
Se nenhuma dessas opções forem bem sucedidas, UTC
Para assegurar precisão (e evitar um alerta E_STRICT
), você precisará definir o seu timezone no php.ini
usando o seguinte formato:
date.timezone = America/Sao_Paulo
Os timezones suportados são listados, nesse formato, no apêndize de timezones.
Também note que strtotime() agora retorna FALSE
ao falhar, ao invés de -1.