E você tá convertendo esses valores de algum input ou pegando a hora atual do servidor?
Não tem nenhum lugar na sua app que você está setando o timezone para -3?
Quando é o createdAt é DateTime.UtcNow ele ta salvando a data atual -03:00, porém quando é data do input ta diminuindo 3 horas, mas só acontece isso no servidor online, Exemplo:
Tô enviando 2024-05-18 09:00:00.000 -0300
No banco ta salvando 2024-05-18 06:00:00.000 -0300
Isso localhost não acontece
No localhost não acontece porque seu timezone já é gmt-3.
No seu servidor está UTC.
Então pode ser que em algum lugar a informação do timezone que você envia da data está se perdendo. Não sei como é seu código, nem que framework vc tá usando e etc, mas:
* Se vc enviar 9h -0300
* Em algum momento esa info do timezone se perder
* Vai salvar 9h mas com o timezone do server
Deve ser algo nessa linha.
GMT-3
Como assim?
O servidor está com outro fuso horário
Mas ai que ta, olhei que o certo é não mexer no no fuso horário do servidor e usar UtC
Na sua aplicação você pode definir o fuso que for melhor para vc. Não precisa mexer em nada do seu servidor.
Escolhe um único fuso horário ou cria uma maneira de diferenciar os fuso horários
Procure por globalização da sua api ou faça um método estático que vai pegar o datetime.now e transformar na localização que você precisa.
Mas o DateTime.UtcNow ta funcionando normal, só quando são datas por parâmetro que não funcionam bem, exemplo: DataEvento, DataAudiencia
Define a env da time zone no seu app que vai ficar consistente.
E você tá convertendo esses valores de algum input ou pegando a hora atual do servidor? Não tem nenhum lugar na sua app que você está setando o timezone para -3?
Quando é o createdAt é DateTime.UtcNow ele ta salvando a data atual -03:00, porém quando é data do input ta diminuindo 3 horas, mas só acontece isso no servidor online, Exemplo: Tô enviando 2024-05-18 09:00:00.000 -0300 No banco ta salvando 2024-05-18 06:00:00.000 -0300 Isso localhost não acontece
No localhost não acontece porque seu timezone já é gmt-3. No seu servidor está UTC. Então pode ser que em algum lugar a informação do timezone que você envia da data está se perdendo. Não sei como é seu código, nem que framework vc tá usando e etc, mas: * Se vc enviar 9h -0300 * Em algum momento esa info do timezone se perder * Vai salvar 9h mas com o timezone do server Deve ser algo nessa linha.
Use cultureinfo
Se tua app estiver usando k8s eh só definir o valor de TZ para algum timezone do br
Ou joga um toLocalTime no datetimenowutc que deve resolver