public static class DateTimeExtension
public static DateTime GetLastWeekReset(this DateTime dateTime)
if (dateTime.DayOfWeek == DayOfWeek.Tuesday)
dateTime = dateTime.AddDays(-7);
else if (dateTime.DayOfWeek < DayOfWeek.Tuesday)
dateTime = dateTime.AddDays(-(7 - (int) dateTime.DayOfWeek));
dateTime = dateTime.AddDays(-((int) (dateTime.DayOfWeek - DayOfWeek.Tuesday)));
public static void Main()
Console.WriteLine(DateTime.UtcNow.AddDays(8).GetLastWeekReset());