This code calculates the **last Friday of the current month**...

July 1, 2025 at 10:55 AM

var daysInMonth = DateTime.DaysInMonth(now.Year, now.Month); var lastDay = new DateTime(now.Year, now.Month, daysInMonth); // Calculate the last Friday var lastFriday = lastDay.AddDays(-(int)lastDay.DayOfWeek - 2); if (lastFriday.Month != now.Month) { lastFriday = lastFriday.AddDays(7); }

This code calculates the last Friday of the current month using the following steps:

  1. Determine the number of days in the current month:

    var daysInMonth = DateTime.DaysInMonth(now.Year, now.Month);
    

    This gets the total number of days in the current month based on the now.Year and now.Month.

  2. Get the last day of the current month:

    var lastDay = new DateTime(now.Year, now.Month, daysInMonth);
    

    Creates a DateTime object representing the last day of the current month.

  3. Calculate the date of the last Friday:

    var lastFriday = lastDay.AddDays(-(int)lastDay.DayOfWeek - 2);
    
    • lastDay.DayOfWeek returns the day of the week for the last day of the month (e.g., DayOfWeek.Sunday has an integer value of 0).
    • Subtract (int)lastDay.DayOfWeek + 2 days from lastDay. This adjusts the date to reach the last Friday based on the following logic:
      • If lastDay is Sunday (0), this subtracts 2 days to get to the last Friday.
      • If lastDay is Monday (1), it subtracts 3 days, and so on.
  4. Check if the calculated Friday is still in the same month:

    if (lastFriday.Month != now.Month)
    {
        lastFriday = lastFriday.AddDays(7);
    }
    

    If the calculated lastFriday falls in the previous month (this may happen if the lastDay subtraction missed the last Friday), the code adds 7 days to move to the correct Friday in the current month.

Output

After execution, lastFriday will contain the date of the last Friday of the current month.

Generate your own explanations
Download our vscode extension
Read other generated explanations

Built by @thebuilderjr
Sponsored by beam analytics
Read our terms and privacy policy
Forked from openai-quickstart-node