/// <summary> /// Previous /// </summary> /// <param name="dt"></param> /// <param name="dayOfWeek"></param> /// <returns></returns> public static DateTime PreviousDayOfWeek(this DateTime dt, DayOfWeek dayOfWeek) { var offset = DayOfWeekCalc.DaysBetween(dt.DayOfWeek, dayOfWeek); offset = offset == 0 ? 7 : offset; return(dt.AddDays(-offset)); }
public static DateInfo OffsetByDayOfWeek(DateInfo d, DayOfWeek dayOfWeek, int weekOffset) { var z = weekOffset > 0 ? 1 : -1; var offset = DayOfWeekCalc.DaysBetween(d.DayOfWeek, dayOfWeek); offset = offset == 0 ? 7 : offset; return(d.OffsetBy(offset * z * weekOffset, DateTimeOffsetStyles.Day)); }