nth Week Day
Returns the date of the nth weekday within the specified month and year.
Controller: CodeCogs
Contents
Dependents
Interface
C++
Excel
NthWeekDay
intnthWeekDay( | int | Nth | |
int | WeekDay | ||
int | Year | ||
int | Month | ||
int | Type = 1 | ) |
- Martin Luther King Day, third Monday in January
- President's Day, third Monday in February
- Armed Forces Day, third Saturday in May
- Mother's Day, second Sunday in May
- Memorial Day, last Monday in May
- Father's Day, third Sunday in June
- Labor Day, first Monday in September
- Columbus Day, second Monday in October
- Thanksgiving Day, fourth Thursday in November
- May Day Bank Holiday, first Monday in May
- Spring Bank Holiday, last Monday in May
- Late Summer Holiday, last Monday in August
Example 1
- To compute the UK holidays:
#include <stdio.h> #include <codecogs/units/date/nthweekday.h> #include <codecogs/units/date/dateymd.h> #include <codecogs/units/date/month_str.h> using namespace Units::Date; int main() { int d,m,y; for(int i=2004; i<=2006; i++) { printf("\nIn %d:",i); dateYMD(nthWeekDay(1, Monday, i, May), y,m,d); // First Monday printf("\n May Day Bank Holiday is on: %2d %s",d,month_str(m)); dateYMD(nthWeekDay(0, Monday, i, May), y,m,d); // last Monday printf("\n Spring Bank Holiday is on: %2d %s",d,month_str(m)); dateYMD(nthWeekDay(0, Monday, i, August), y,m,d); // last Monday printf("\n Late Summer Holiday is on: %2d %s",d,month_str(m)); } return 0; }
Output:In 2004: May Day Bank Holiday is on: 3 May Spring Bank Holiday is on: 31 May Late Summer Holiday is on: 30 August In 2005: May Day Bank Holiday is on: 2 May Spring Bank Holiday is on: 30 May Late Summer Holiday is on: 29 August In 2006: May Day Bank Holiday is on: 1 May Spring Bank Holiday is on: 29 May Late Summer Holiday is on: 28 August
- Type=1 : WeekDay contains numbers 1 (Sunday) through 7 (Saturday) - default behaviour of Microsoft cal_Excel.
- Type=2 : WeekDay contains numbers 1 (Monday) through 7 (Sunday).
- Type=3 : WeekDay contains numbers 0 (Monday) through 6 (Sunday).
Parameters
Nth identifies which WeekDay from the start of the month to obtain (e.g. the 1st Friday, 3rd Monday). A zero value will return the date of the last WeekDay, with negative values returning earlier weekdays from the end of the month. WeekDay is the day of the week required, with its value depending upon the Type (see below). Year can be any integer greater than 4800 BC (-4799). Month contains the month of the year. This value must be within the range -9 to 14 (inclusive), though value outside the range 1-12 will be divided by by 12, such that the Year incremented by the quotient and the Month set to the remainder. Type defines the input form for the WeekDay:
Authors
- Will Bateman
Source Code
Source code is available when you agree to a GP Licence or buy a Commercial Licence.
Not a member, then Register with CodeCogs. Already a Member, then Login.