public static void Main()
DateTime StartOfWeek = DateTime.Today.AddDays(-(int)DateTime.Today.DayOfWeek - 1);
DateTime EndOfWeek = StartOfWeek.AddDays(6);
DateTime FridayWeekEnding = DateTime.Today.AddDays(5 - (int)DateTime.Today.DayOfWeek);
DateTime FutureDate = new DateTime(2020, 3, 1);
DateTime FutureFridayWeekEnding = FutureDate.AddDays(5 - (int)FutureDate.DayOfWeek);
Console.WriteLine("Start Of Week: {0}, End of Week: {1}", StartOfWeek.ToString("ddd dd MMM yyyy"), EndOfWeek.ToString("ddd dd MMM yyyy"));
Console.WriteLine("Friday Week Ending: {0}, Day Name: {1}", FridayWeekEnding.ToString("dd/MM/yyyy"), FridayWeekEnding.DayOfWeek);
Console.WriteLine("Future Date: {0}. Day Name: {1}", FutureDate.ToString("dd/MM/yyyy"), FutureDate.DayOfWeek);
Console.WriteLine("Future Friday Week Ending: {0}. Day Name: {1}", FutureFridayWeekEnding.ToString("dd/MM/yyyy"), FutureFridayWeekEnding.DayOfWeek);
FutureDate = new DateTime(2020, 2, 29);
FutureFridayWeekEnding = FutureDate.AddDays(5 - (int)FutureDate.DayOfWeek);
Console.WriteLine("Future Date: {0}. Day Name: {1}", FutureDate.ToString("dd/MM/yyyy"), FutureDate.DayOfWeek);
Console.WriteLine("Future Friday Week Ending: {0}. Day Name: {1}", FutureFridayWeekEnding.ToString("dd/MM/yyyy"), FutureFridayWeekEnding.DayOfWeek);