//本日开始{2019/7/18 0:00:00}
DateTime dt = DateTime.Now.Date;
//本日结束{2019/7/18 23:59:59}
DateTime dt_End = dt.AddDays(1).AddMilliseconds(-1);
//本月开始{2019/7/1 0:00:00}
DateTime dtThisMonth_Start = dt.AddDays(1- dt.Day);
//本月结束{2019/7/31 23:59:59}
DateTime dtThisMonth_End = dtThisMonth_Start.AddMonths(1).AddMilliseconds(-1);
//本年开始{2019/1/18 0:00:00}
DateTime dtThisYear_Start = dt.AddMonths(1 - dt.Month);
//本年结束{2020/1/17 23:59:59}
DateTime dtThisYear_End = dtThisYear_Start.AddYears(1).AddMilliseconds(-1);
#region 获取本周第一天
DateTime nowTime = DateTime.Now;
//星期一为第一天
int weeknow = Convert.ToInt32(nowTime.DayOfWeek);
//因为是以星期一为第一天,所以要判断weeknow等于0时,要向前推6天。
weeknow = (weeknow == 0 ? (7 - 1) : (weeknow - 1));
int daydiff = (-1) * weeknow;
//本周第一天
DateTime FirstDay = nowTime.AddDays(daydiff);
#endregion
#region 获取本周最后一天
//星期天为最后一天
int lastWeekDay = Convert.ToInt32(nowTime.DayOfWeek);
lastWeekDay = lastWeekDay == 0 ? (7 - lastWeekDay) : lastWeekDay;
int lastWeekDiff = (7 - lastWeekDay);
//本周最后一天
DateTime LastDay = nowTime.AddDays(lastWeekDiff);
#endregion