/ Published in: C#

A quick search on the internet reveals all kinds of ways you can calculate with business days. I think is the most simple and efficient. In this example add day of week and weeks separately. The loop is never iterated more then 4 times regardless of the number of days being added.
Expand |
Embed | Plain Text
Copy this code and paste it in your HTML
public DateTime AddWorkingDays(DateTime dtFrom, int nDays) { // determine if we are increasing or decreasing the days int nDirection = 1; if (nDays < 0) { nDirection = -1; } // move ahead the day of week int nWeekday = nDays % 5; while(nWeekday != 0) { dtFrom = dtFrom.AddDays(nDirection); if (dtFrom.DayOfWeek != DayOfWeek.Saturday && dtFrom.DayOfWeek != DayOfWeek.Sunday) { nWeekday -= nDirection; } } // move ahead the number of weeks int nDayweek = (nDays / 5) * 7; dtFrom = dtFrom.AddDays(nDayweek); return dtFrom; }
Comments
