public static DateTime GetStartOfWeek(this DateTime dateWithinWeek, DayOfWeek startOfWeek = DayOfWeek.Monday) { var difference = dateWithinWeek.DayOfWeek - startOfWeek; if (difference < 0) { difference += 7; } return dateWithinWeek.AddDays(-difference).Date; }