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:
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