1 DateTime nowTime = DateTime.Now;
2 #region 获取本周第一天
3 //星期一为第一天
4 int weeknow = Convert.ToInt32(nowTime.DayOfWeek);
5
6 //因为是以星期一为第一天,所以要判断weeknow等于0时,要向前推6天。
7 weeknow = (weeknow == 0 ? (7 - 1) : (weeknow - 1));
8 int daydiff = (-1) * weeknow;
9
10 //本周第一天
11 DateTime FirstDay = nowTime.AddDays(daydiff);
12 #endregion
13
14 #region 获取本周最后一天
15 //星期天为最后一天
16 int lastWeekDay = Convert.ToInt32(nowTime.DayOfWeek);
17 lastWeekDay = lastWeekDay == 0 ? (7 - lastWeekDay) : lastWeekDay;
18 int lastWeekDiff = (7 - lastWeekDay);
19
20 //本周最后一天
21 DateTime LastDay = nowTime.AddDays(lastWeekDiff);
22 #endregion
23
24 //获取当前月的第一天
25 DateTime d1 = new DateTime(nowTime.Year, nowTime.Month, 1);
26
27 //获取当前月的最后一天
28 DateTime d2 = d1.AddMonths(1).AddDays(-1);
29
30 Console.WriteLine(FirstDay);
31 Console.WriteLine(LastDay);
32 Console.WriteLine(d1);
33 Console.WriteLine(d2);
34 Console.Read();