Dim sampleDate As Date = new DateTime(2020, 2, 3)
Dim lessOneWeek As Date = sampleDate.AddDays(-7)
Dim firstDayOfTheWeek As Date = lessOneWeek.AddDays(-(lessOneWeek.DayOfWeek - 1))
Dim lastDayOfTheWeek As Date = firstDayOfTheWeek.AddDays(6)
If(firstDayOfTheWeek.Month <> lastDayOfTheWeek.Month) Then
Dim firstMonthLastDay = Date.DaysInMonth(firstDayOfTheWeek.Year, firstDayOfTheWeek.Month) - firstDayOfTheWeek.Day
Console.WriteLine("First Month Start Date: {0}", firstDayOfTheWeek)
Console.WriteLine("First Month End Date: {0}", firstDayOfTheWeek.AddDays(firstMonthLastDay))
Dim secondMonthFirstDay = new DateTime(lastDayOfTheWeek.Year, lastDayOfTheWeek.Month, 1)
Dim secondMonthEndDate = lastDayOfTheWeek.AddDays(-(lastDayOfTheWeek.Day - secondMonthFirstDay.Day))
Console.WriteLine("Second Month Start Date: {0}", secondMonthEndDate)
Console.WriteLine("Second Month End Date: {0}", lastDayOfTheWeek)
Console.WriteLine("Start Date: {0}", firstDayOfTheWeek)
Console.WriteLine("End Date: {0}", lastDayOfTheWeek)