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();