O fuso horário de inserção de data é sempre UTC; meu fuso horário é ignorado

Quando crio uma data com o botão “Inserir Data”, ele gera algo como:

[date=2019-08-20 time=20:00:00 timezone="Europe/Berlin"]

Estou no fuso horário Europe/Berlin. No entanto, o resultado HTML mostra “22:00” em vez de “20:00”.

Quando altero o código gerado para:

[date=2019-08-20 time=20:00:00 timezone=Europe/Berlin]

funciona perfeitamente.

Aqui no meta.discourse.org, funciona corretamente. Meu fórum está na versão v2.4.0.beta2 +316.

Obrigado.

Vamos tentar aqui, estou na França, mas é o mesmo fuso horário

[date=2019-08-20 time=20:00:00 timezone="Europe/Paris"]

2019-08-20T18:00:00Z

[date=2019-08-20 time=20:00:00 timezone=Europe/Paris]

2019-08-20T18:00:00Z

resulta em

Você reconfigurou o horário/fuso horário do seu servidor para algo diferente do UTC?

Sim, como escrevi aqui, funciona. Acho que é algo na diferença entre a versão aqui e a minha. Lembro que já funcionava antes de algumas atualizações que fiz.

Não, ainda é UTC.

Qual é o seu navegador? Isso não está relacionado ao seu servidor, mas o relógio do SEU computador está configurado corretamente?

Testei o Firefox e o Chrome/Chromium no Windows, Linux e Android. Em cada navegador, o comportamento é o mesmo. Ah, e meu fuso horário é sempre Europe/Berlin.

Você pode tentar isso no console de um navegador que está atualmente acessando um fórum Discourse:

moment.tz.guess()

mostra: "Europe/Berlin"

tanto no meu fórum quanto no meta.discourse.org

Ok, vou investigar nos próximos dias, obrigado pela informação.

Estou com exatamente o mesmo problema! Sem as aspas, funciona perfeitamente. Mas o Editor do Discourse sempre cria “Europe/Berlin” em vez de Europe/Berlin — e na prévia, mostra o horário errado. Isso pode ser corrigido?

Ainda não consigo reproduzir, não importa o que eu tente no Chrome ou no Firefox. Preciso investigar mais.

Tive esse problema no Safari, ainda não testei no Chrome/Firefox.

Alguma atualização sobre este problema?

Tenho o mesmo comportamento mencionado acima. Assim que removo as aspas “”, tudo funciona corretamente. Mas quando as utilizo, o sistema parece considerar o UTC +/- as horas do fuso horário em que o cliente está executando.

Aliás, o mesmo ocorre aqui quando escrevo algo sem sentido no fuso horário, como:
[date=2019-08-20 time=20:00:00 timezone="nonsense"]
ou
[date=2019-08-20 time=20:00:00 timezone=nonsense]
2019-08-20T20:00:00Z

Eu também relato exatamente o mesmo problema. Parece ser, mais ou menos, um problema com instalações em “alemão”.

Bem, curiosidade: tentei redefinir as configurações executando domain.de/wizard. Lá, mudei o local para Inglês (EUA) e percorri o assistente completo. Com a configuração em inglês, consigo colar horários e eles são exibidos corretamente. Por exemplo, diz “Amanhã 23:15 (Europe/Berlin)”, mas eu realmente inseri 23:15 no horário alemão. Portanto, está sendo exibido corretamente.

Quando eu reconfiguro meu fórum de volta para “Deutsch” e colo um novo compromisso com horário… o efeito de +1 hora volta a acontecer. (Os horários colados na configuração em inglês continuam sendo exibidos corretamente).

Então, isso não parece ser um problema relacionado ao horário do servidor. Algo parece falhar entre a localização da Europa e o UTC.

Estou à disposição para testar ou fornecer mais informações, se necessário.

Estou executando o Discourse no Docker.

Obrigado pela ajuda adicional!

Uma pequena adição, percebi uma pequena diferença entre minha instalação e esta oficial.

Desativamos a opção “permitir localidade do usuário”. Assim, os usuários não podem alterar o idioma por conta própria. Não sei se isso é útil.

E quanto aos outros que enfrentaram os mesmos problemas, ou seja, @Daniel_Tesla @lorddevil, @zogstrip @hewo7: seus usuários podem alterar as configurações de localidade da interface? Ou, em alemão, em Configurações › Configurações Gerais: permitir localidade do usuário: “Permitir que os usuários escolham seu próprio idioma de interface”

  • permitir localidade do usuário ativa
  • permitir localidade do usuário inativa
0 voters

É estranho que o locale atual afete o fuso horário :thinking:

@j.jaffeux você corrigiu isso por acaso com suas correções recentes?

Ficarei feliz em oferecer mais assistência para testes e depuração, se necessário. Caso alguém da equipe queira dar uma olhada mais de perto no assunto.

Não, vou dar uma olhada amanhã.

Isso deve ser corrigido por:

:tada: Obrigado pela informação


Mais contexto: parece que, quando a instância do Discourse está configurada para o locale alemão, substituímos as aspas " pelas aspas alemãs „“, o que estava quebrando nosso analisador.

@gerhard Fiz uma correção diretamente no local-dates por enquanto. Você acha que devemos tentar corrigir isso mais acima na cadeia?

  • No próprio parseBBCodeTag antes de enviar a string correspondente?
  • No texto formatado?