jun 102012
 

Quando em ambiente Windows, nada mais simples que o Easy PHP para desenvolvimento. Simples, funcional e direto.

Porém a instalação padrão, de tão simplista e prática, deixa de lado algumas configurações importantes.

Dentre elas a questão da data, mais especificamente o fuso horário.

Ao usar, no PHP a função time(), que retorna um inteiro que representa o TIMESTAMP UNIX, quando incorretamente configurado o fuso, acaba dando problema.

Como exemplo, ao interpretar o TIMESTAMP este acaba cvomo sendo três horas após. Isso se deve so fuso horário padrão – e incorreto para nós – na configuração do apache.

Vamos à correção:

Botão direito no ícone do Esay PHP:

Em seguida em ‘Administration’, ‘Apache’:

No arquivo de texto que vai abrir, busque por PHP Timezone, encontrarás a configuração padrão:

Altere a configuração “Europe/Paris” para “America/Sao_Paulo":

Pronto, problema resolvido.

Entendendo o que acontece:

O TIMESTAMP Unix retorna o número de segundos decorridos desde as 00:00h de 1 de janeiro de 1970.

Porém, tal retorno reflete a data e hora no meridiano de Greenwich, ou seja, do “meio do mundo”. Cada país no entorno tem seu fuso horário, o nosso (em São Paulo) é GMT -3, ou seja, horário de Greenwich -3 horas.

Cabe ainda apontar que no brasil temos três fusos horários GMT -4, -3 e -2, conforme a região, com ou sem horário de verão.

Veja os mapas:

Sem Horário de Verão/Com horário de Verão:

Clique para ampliar

Clique para ampliar

Segue a configuração dos principais fusos:

'Kwajalein' => -12.00,
'Pacific/Midway' => -11.00,
'Pacific/Honolulu' => -10.00,
'America/Anchorage' => -9.00,
'America/Los_Angeles' => -8.00,
'America/Denver' => -7.00,
'America/Tegucigalpa' => -6.00,
'America/New_York' => -5.00,
'America/Caracas' => -4.30,
'America/Halifax' => -4.00,
'America/St_Johns' => -3.30,
'America/Argentina/Buenos_Aires' => -3.00,
'America/Sao_Paulo' => -3.00,
'Atlantic/South_Georgia' => -2.00,
'Atlantic/Azores' => -1.00,
'Europe/Dublin' => 0,
'Europe/Belgrade' => 1.00,
'Europe/Minsk' => 2.00,
'Asia/Kuwait' => 3.00,
'Asia/Tehran' => 3.30,
'Asia/Muscat' => 4.00,
'Asia/Yekaterinburg' => 5.00,
'Asia/Kolkata' => 5.30,
'Asia/Katmandu' => 5.45,
'Asia/Dhaka' => 6.00,
'Asia/Rangoon' => 6.30,
'Asia/Krasnoyarsk' => 7.00,
'Asia/Brunei' => 8.00,
'Asia/Seoul' => 9.00,
'Australia/Darwin' => 9.30,
'Australia/Canberra' => 10.00,
'Asia/Magadan' => 11.00,
'Pacific/Fiji' => 12.00,
'Pacific/Tongatapu' => 13.00