sexta-feira, 7 de fevereiro de 2014

[C#] Como saber o horário de Brasília estando o servidor em qualquer fuso horário (Recomendado para quem hospeda site no Windows Azure)

// Listando os fusos horários existentes (apenas para observar os valores na collection)
ReadOnlyCollection<TimeZoneInfo> collection = TimeZoneInfo.GetSystemTimeZones();

// Mesmo estando o servidor configurado para qualquer fuso horário, o código abaixo obtém o horário de Brasília
DateTime timeUtc = DateTime.UtcNow;
TimeZoneInfo kstZone = TimeZoneInfo.FindSystemTimeZoneById("E. South America Standard Time"); // Brasilia/BRA
DateTime dateTimeBrasilia = TimeZoneInfo.ConvertTimeFromUtc(timeUtc, kstZone);