public static void Main()
string[] ranges = new string[] { "today", "tomorrow", "thisweek", "thismonth", "nextweek", "nextmonth", "thisyear", "nextyear" };
foreach (var r in ranges) {
Console.WriteLine(r + " - " + CalculateFromTimeRange(r));
public static DateRange CalculateFromTimeRange(string range)
DateTime startDate = DateTime.Now.Date;
DateTime endDate = startDate.AddDays(1);
startDate = DateTime.Now.Date.AddDays(1);
endDate = startDate.AddDays(1);
startDate = DateTime.Now.Date.AddDays(-1 * (int)DateTime.Now.DayOfWeek);
endDate = startDate.AddDays(7);
startDate = DateTime.Parse(DateTime.Now.Month + "/1/" + DateTime.Now.Year);
endDate = startDate.AddMonths(1);
startDate = DateTime.Now.Date.AddDays(7-(int)DateTime.Now.DayOfWeek);
endDate = startDate.AddDays(7);
startDate = DateTime.Parse(DateTime.Now.Month + "/1/" + DateTime.Now.Year).AddMonths(1);
endDate = startDate.AddMonths(1);
startDate = DateTime.Parse("1/1/" + DateTime.Now.Year);
endDate = startDate.AddYears(1);
startDate = DateTime.Now.Date;
startDate = DateTime.Parse("1/1/" + (DateTime.Now.Year + 1));
endDate = startDate.AddYears(1);
return new DateRange () {
public DateTime StartDate { get; set; }
public DateTime EndDate { get; set; }
public override string ToString() {
return StartDate.ToShortDateString() + " - " + EndDate.ToShortDateString();