ti-enxame.com

PHP data/hora errada

PHP date() & time() retorna hora incorreta:

Quando date.timezone = "Europe/Riga" a hora retornada por date() era 03-12-2011 08:57:12, mas a hora do sistema era 03-12-2011 01:57:12 (fuso horário Europa/Riga - hora correta naquele momento). Quando mudei o fuso horário para "Europe/London", a hora mudou para 03-12-2011 06:57:12 ( tempo real 02-12-2011 23:57:12)

O tempo retornado por date/hwclock --show estava correto (03-12-2011 01:57:12 com o fuso horário do sistema definido como Riga)

SO: Debian 6.0

Verifiquei a maioria das questões relacionadas a problemas semelhantes no SO/Google, mas todas parecem ter um fuso horário errado especificado.

Tanto quanto eu posso dizer que há problema entre php -> os. Claro, porque o deslocamento de tempo incorreto é sempre constante, eu poderia subtrair a diferença, mas não é uma solução adequada.

Qualquer ideia será muito apreciada. 

10
relic

O problema parece semelhante ao que vi em um dos meus servidores. Parece gostar bug no php 5.3.2-1 . Tente executar o script php no relatório de erros e poste seus resultados.

5
Arie Skliarouk

Reading PHP manual parece que o comportamento de date.timezone é afetado por configurações no php.ini. Existe outra maneira de definir o fuso horário padrão em todas as funções de data/hora e é o date_default_timezone_set . Tente definir com:

date_default_timezone_set('Europe/Riga');

em vez de seu date.timezone code.

14
Marco Pace

O fuso horário do sistema pode estar errado. Isso resulta em uma mudança em um tempo dado pela função PHP date (), embora tanto o php date.timezone (em php.ini) quanto a hora do sistema do servidor estejam corretos. 

3
user2317245

Eu também tive algum problema com o fuso horário. Isso pode ser útil para alguém. 

No meu caso, o Chile Sumer Time CLST retornou o deslocamento errado do timzeone.

Atualizando o timezonedb trabalhado para mim.

Vá para: https://pecl.php.net/package/timezonedb

Para Widnows Baixe a versão mais recente da dll, copie para o diretório "ext". Edite o php.ini e coloque a linha abaixo:

extensão = php_timezonedb.dll

Para Linux Você pode usar:

pecl instalar timezonedb

e no php.ini put:

extensão = php_timezonedb.so

1
Piotr

Este comentário para o fuso horário do Azerbaijão

Eu tenho problema com 'Asia/Baku' no php 7.2 ou versão php 7.1.

Eu resolvi a mudança do problema para 'Europa/Baku'

0
Turan Zamanlı