C# UTC para resultados inesperados de conversão de hora local
-
13-12-2019 - |
Pergunta
Desde ontem (começou o primeiro dia do ajuste de horário de verão nos EUA), o mesmo código executado em dois computadores diferentes está dando resultados diferentes.Aqui está o código:
DateTime t = TimeZoneInfo.ConvertTimeBySystemTimeZoneId(
DateTime.UtcNow, r.timeZone);
Embora o fuso horário usado aqui seja "Horário Padrão do Leste dos EUA"
A entrada (DateTime.UtcNow) é 13/03/2012 19:10:00
Em uma máquina Windows XP SP3, o código retorna:13/03/2012 14:10:00
Em uma máquina Windows Server 2008, o mesmo código retorna:13/03/2012 15:10:00
Isto não é esperado.Alguma ideia?
Melhor.
Solução
O fuso horário atual na máquina XP é "Leste dos EUA Padrão Hora" enquanto o fuso horário atual na máquina do servidor é "Leste dos EUA Luz do dia Tempo".Os EUA mudaram do horário padrão para o horário de verão no domingo.Talvez a máquina XP precise atualizar as informações de fuso horário.