public static void Main()
var adjustedDay = GetAdjustedDay(2020, 10);
Console.WriteLine(adjustedDay);
public static int GetAdjustedDay(int year, int month) {
var currentDate = new DateTime(2020, 11, 1);
if (currentDate.Month != month && currentDate.Year == year) {
return DateTime.DaysInMonth(year, month);
switch (currentDate.DayOfWeek) {
if (currentDate.Hour < 18) {
if (currentDate.Hour < 18) {
if (currentDate.Hour < 18) {
if ((currentDate.Day + daysOffset) >= 0) {
var offsetDate = currentDate.AddDays(daysOffset);