/// <summary> /// 获取一周的第一天 /// </summary> /// <param name="date"></param> /// <returns></returns> public static DateTime FirstDateOfWeek(DateTime date) { if (date.DayOfWeek == 0) { return date.AddDays(-6); } else if (date.DayOfWeek > DayOfWeek.Monday) { return date.AddDays(1 - (int)date.DayOfWeek); } else { return date; } }
1、一周有7天,星期日,是一周的第一天
2、如果DayOfWeek=0 表示是星期天,使用AddDays(-6),则为周一
3、如果DayOfWeek 大于周一,则使用 1- 当前天数,向前移,则找到周一
4、如果刚好今天的日期是周一,则返回当前的日期