public static void Main()
var dtUtc = new DateTime(2012, 12, 01, 03, 0, 0).ToUniversalTime();
var dtLocal = ConvertToBrazilianTime(dtUtc);
Console.WriteLine("Data UTC: " + dtUtc.ToString("dd-MM-yyyy HH-mm-ss"));
Console.WriteLine("Data Local: " + dtLocal.ToString("dd-MM-yyyy HH-mm-ss"));
public static DateTime ConvertToBrazilianTime(DateTime utc)
return TimeZoneInfo.ConvertTimeBySystemTimeZoneId(utc, "E. South America Standard Time");