using System.Collections.Generic;
public static void Main()
var dates = new DateTime(2012, 10, 01, 10, 0, 0).Range(new DateTime(2012, 11, 15));
var horarioLocal = ConvertToBrazilianTime(d);
Console.WriteLine("UTC: " + d.ToString("dd-MM-yyyy HH-mm-ss") + " - Local BR: " + horarioLocal.ToString("dd-MM-yyyy HH-mm-ss"));
public static DateTime ConvertToBrazilianTime(DateTime utc)
return TimeZoneInfo.ConvertTimeBySystemTimeZoneId(utc, "E. South America Standard Time");
public static class ExtensionMethods
public static IEnumerable<DateTime> Range(this DateTime startDate, DateTime endDate)
return Enumerable.Range(0, (endDate - startDate).Days + 1).Select(d => startDate.AddDays(d));