DateTime dt = DateTime.Now; //当前时间
DateTime currentstartMonth = dt.AddMonths(-1).AddDays(1 - dt.AddMonths(-1).Day); //上月月初
DateTime currentendMonth = currentstartMonth.AddMonths(1).AddDays(-1); //上月月末
int dayOfWeek = Convert.ToInt32(dt.DayOfWeek.ToString("d"));
DateTime startWeek = dt.AddDays(1 - ((dayOfWeek == 0) ? 7 : dayOfWeek)); //本周周一
DateTime endWeek = startWeek.AddDays(6); //本周周日
DateTime startMonth = dt.AddDays(1 - dt.Day); //本月月初
DateTime endMonth = startMonth.AddMonths(1).AddDays(-1); //本月月末
//DateTime endMonth = startMonth.AddDays((dt.AddMonths(1) - dt).Days - 1); //本月月末
DateTime startQuarter = dt.AddMonths(0 - (dt.Month - 1) % 3).AddDays(1 - dt.Day); //本季度初
DateTime endQuarter = startQuarter.AddMonths(3).AddDays(-1); //本季度末
DateTime startYear = new DateTime(dt.Year, 1, 1); //本年年初
DateTime endYear = new DateTime(dt.Year, 12, 31); //本年年末
DateTime currentstartMonth = dt.AddMonths(-1).AddDays(1 - dt.AddMonths(-1).Day); //上月月初
DateTime currentendMonth = currentstartMonth.AddMonths(1).AddDays(-1); //上月月末
int dayOfWeek = Convert.ToInt32(dt.DayOfWeek.ToString("d"));
DateTime startWeek = dt.AddDays(1 - ((dayOfWeek == 0) ? 7 : dayOfWeek)); //本周周一
DateTime endWeek = startWeek.AddDays(6); //本周周日
DateTime startMonth = dt.AddDays(1 - dt.Day); //本月月初
DateTime endMonth = startMonth.AddMonths(1).AddDays(-1); //本月月末
//DateTime endMonth = startMonth.AddDays((dt.AddMonths(1) - dt).Days - 1); //本月月末
DateTime startQuarter = dt.AddMonths(0 - (dt.Month - 1) % 3).AddDays(1 - dt.Day); //本季度初
DateTime endQuarter = startQuarter.AddMonths(3).AddDays(-1); //本季度末
DateTime startYear = new DateTime(dt.Year, 1, 1); //本年年初
DateTime endYear = new DateTime(dt.Year, 12, 31); //本年年末