mais problemas UTC no WordPress

então eu emiti notificações há alguns anos com coisas no WordPress mostrando a hora errada. Isso foi eventualmente corrigido, e configurações foram feitas em todo o quadro e no servidor para definir o fuso horário php na América/Nova York.

Outros scripts no meu site exigem que essa configuração esteja correta.

Agora, estou notando os problemas de começar de novo com o WordPress. Recebi isso, do ano passado https://wordpress.org/support/topic/utc-time-wrong/page/2/

Corrigimos uma revisão rápida

No entanto, nas configurações gerais do WordPress (definir o fuso horário em Nova York), o horário universal (UTC) é 2018-10-01 13:00:15. A hora local é 2018-10-01 09:00:15.

o que é mostrado aqui é o meu tempo correto para UTC e, em seguida, 4 horas EXTRAS aplicar…. fazendo 4 horas atrás da hora real.

você pode vê-lo aqui…
https://www.chelmsforddogassociation.org/about-us/volunteering/
o plugin às vezes é exibido 4 horas antes dos tempos reais… porque eu disse a ele que o evento começa às 9:00 EDT, então ele mostra 5 am EDT.

Se você está dizendo que o WordPress mostra a hora correta em Configurações, e a postagem feita por um plugin mostra a hora errada, gostaria de concluir que o plugin tem o problema.

Se você criou o trabalho e depois mudou o tempo, você ainda usa o tempo economizado quando o trabalho foi criado.

Esse é o meu ponto… É um comportamento muito estranho.

O WordPress exibe os valores INCORRETOS na página Configurações gerais.

Os próprios tempos de trabalho são os certos.

No entanto, quase todos os plugins são substituídos pelo servertime-4 (que termina como utc-8) em vez de UTC-4

Então, embora eu admita que não verifiquei todo o código, já que o site está incorreto e todos os plugins que usam essa configuração estão incorretos, o erro está no código WordPress, em algum lugar.

O plugin voluntário às vezes é a única demonstração frontal que posso facilmente vincular…

Esta resposta foi modificada há dois anos, há dois meses.

Estou confuso. Você disse que UTC está 4 horas à frente do seu tempo, e

No entanto, nas configurações gerais do WordPress (definir o fuso horário em Nova York), o horário universal (UTC) é 2018-10-01 13:00:15. A hora local é 2018-10-01 09:00:15.

mostra que está 4 horas à frente de seu tempo. Mas você diz isso.

O WordPress exibe os valores INCORRETOS na página Configurações gerais.

Quando você seleciona um fuso horário no WordPress, você não está definindo o fuso horário para o servidor, mas para as datas salvas no banco de dados. Ele realmente salva duas vezes. O servidor pode estar em um fuso horário diferente.

Curiosamente, você está usando um servidor Windows? Torna o tempo um pouco diferente do Linux. A propósito, há um bilhete para tentar padronizar o tempo todo. Não vi nada sobre isso no último mês, mas já foi trabalhado antes.

Se os plugins que você está usando obter tempo do servidor e combiná-lo com o tempo wordpress, pode ser um desastre. Mas os plugins devem usar o tempo do WordPress e ficar bem.

Os tempos na página de Configurações Gerais sempre foram para mim. No arquivo PHP. A INI montou e escolheu Chicago a partir do menu suspenso das configurações gerais. Mas, mostra “O tempo universal (UTC) é 2018-10-02 00:53:32. Horário local 2018-10-01 é 19:53:32. «date.timezone = America/Chicago

Agora são 12:53 do intervalo.m, localmente. O horário utc deve ser 5:53 da .m. M.

Agora, todos os meus posts e coisas são exibidos no momento certo em que foram publicados, etc. Acho que os recursos de tempo nesta página são uma bagunça.

Eu acho que o que está acontecendo é assumir que php está definido para o tempo UTC e não para metade do tempo. Você deve olhar para o código real e ver o que ele está fazendo. Parece que me lembro de ter feito isso antes.

Esta resposta foi modificada há dois anos, há dois meses.

Bem, eu consertei minha pergunta. Nas funções do meu tema.php parece que eu tinha o seguinte:
date_default_timezone_set('America/Chicago');

Eu disse essa linha e agora as Configurações Gerais mostram:
Universal time (UTC) is 2018-10-02 07:22:34. Local time is 2018-10-02 02:22:34.

Isso combina com o que deveria ser.

Então é possível que algo semelhante esteja causando isso no seu caso. No entanto, não faz sentido isso incomodá-lo.

Obrigado por sugestão Mark: Eu verifiquei os arquivos temáticos e não encontrei nenhuma definição de fuso horário em nenhum deles. ?

Joy, a questão não é a diferença de 4 horas, o problema é o tempo básico em que a diferença de 4 horas é aplicada.

No entanto, nas configurações gerais do WordPress (definir o fuso horário em Nova York), o horário universal (UTC) é 2018-10-01 13:00:15. A hora local é 2018-10-01 09:00:15.

Quando eu disse isso, o EDT 2018-10-01 hora local foi 13:00:15 No entanto, as configurações do WordPress estavam lendo-o como UTC e, em seguida, uma diferença extra de 4 horas foi adicionada. Aplicar…. Em seguida, o WordPress mostra UTC como UTC-4 em vez de UTC-0 e o tempo local foi mostrado como UTC-8 em vez de UTC-4

… e não, meu servidor apache está com php7

Como eu disse, o mais estranho sobre isso é que 1- mostra as configurações gerais incorretamente. (UTC-8) 2- Alguns plugins exibem a hora errada (UTC-8) (por exemplo, postando em registros de mídia social como um post UTC-8, e os voluntários página documentos da hora do evento. Como UTC- 8) 3- No entanto – POSTAGENS e PÁGINAS (tempo de publicação, tempo de edição, etc.) mostram a hora correta (UTC-4)

O plugin parece estar diretamente relacionado com o elemento errado 1… e plugins que usam o fuso horário/horário nas configurações gerais usam o mesmo recurso (os dois plugins que listei acima disseram olhar para a localização geral do fuso horário)

Aqui está algo para verificar. Instale phpinfo WordPress () | Plugin de WordPress.org e quando terminar, vá para Configurações -> PhP Information. Role até a seção de data e verifique os seguintes três valores:


Default timezone 	UTC 
Directive	Local Value	Master Value
date.timezone	America/Chicago	America/New_York

Eles estão lá para o meu navegador web, que está localizado no Fuso Horário Oriental.

Se eu colocar essa linha de volta nas funções do meu.php, o fuso horário padrão muda para em vez de UTC.America/Chicago

Portanto, você pode tentar adicionar o seguinte nas funções.php arquivo para o seu tema:
date_default_timezone_set('UTC');

Olá. Eu posso explicar isso. Reescrevi grande parte do sistema de fuso horário atual no WordPress há muitos anos.

WordPress era originalmente um aplicativo PHP 4. PhP não tinha um bom suporte para fusos horários. Então, eu não tinha suporte de fuso horário. Ele só tinha tempo e compensação manual. Claro, isso foi desagradável quando tive que mudar o relógio duas vezes por ano.

Quando o suporte ao PHP 5 surgiu e começamos a suportar fusos horários, adicionamos esse suporte ao WordPress. Naquela época, o PHP 4 ainda era suportado, por isso foi adicionado da seguinte forma. Quando o PHP encontra suporte ao fuso horário, o WordPress define o fuso horário padrão para UTC e usa as configurações na página de configurações gerais para calcular a própria compensação. Esta rolagem é então aplicada por um filtro WordPress aos pontos onde é necessário.

Em suma, o WordPress não usa suporte php nativo para fusos horários, mas reafirma a maior parte do código de gerenciamento de tempo internamente, e usa apenas suporte ao fuso horário PHP para calcular a rolagem.

Assim, quando você altera o fuso horário padrão para PHP, ele altera a suposição básica que o WordPress usa (UTC é o fuso horário padrão) e, portanto, é corrigido em excesso.

No geral, isso é algo que precisa ser corrigido no WordPress. Provavelmente há alguns ingressos para as faixas. No entanto, não é um projeto pequeno e, embora seja provável que melhore consideravelmente a velocidade, não foi dada prioridade. Basicamente, todos estão lidando com tudo para remover todo o código extra e assim por diante, mas eles acabam no mesmo lugar onde começou, e outros plugins e códigos que podem fazer as mesmas suposições. Quebre o WordPress.

TL; DR: O WordPress chama no arquivo wp-settings.php, muito em breve. Se você alterá-lo mais tarde, o WordPress substituirá o cálculo do fuso horário. Não mude, não mude de novo quando fizer o que está fazendo.date_default_timezone_set('UTC')

Ah.. obrigado pela explicação. As coisas fazem muito mais sentido agora.

Isto foi útil?

0 / 0

Deixe uma resposta 0

O seu endereço de email não será publicado. Campos obrigatórios são marcados *