setClass(
Class = "UsCalendar",
contains = "Calendar",
prototype = prototype(
IsNationalHoliday = function(date) {
w <- Weekdays(date)
y <- year(date)
d <- day(date)
after1971 <- y >= 1971
switch(month(date),
(d == 1 || (d == 2 && w == 1)) || ((d >= 15 && d <= 21) && w == 1 && y >= 1983) ,
`if`(after1971, (d >= 15 && d <= 21) && w == 1, (d == 22 || (d == 23 && w == 1) || (d == 21 && w == 5))),
FALSE,
FALSE,
`if`(after1971, d >= 25 && w == 1 , (d == 30 || (d == 31 && w == 1) || (d == 29 && w == 5))),
FALSE,
(d == 4 || (d == 5 && w == 1) || (d == 3 && w == 5)),
FALSE,
d <= 7 && w == 1,
`if`(after1971, (d >= 8 && d <= 14) && w == 1, FALSE) || `if`(y > 1970 && y < 1978, (d >= 22 && d <= 28) && w == 1, FALSE),
`if`(y <= 1970 || y >= 1978, (d == 11 || (d == 12 && w == 1) || (d == 10 && w == 5)), FALSE) || ((d >= 22 && d <= 28) && w == 4),
(d == 25 || (d == 26 && w == 1) || (d == 24 && w == 5)) || (d == 31 && w == 5),
FALSE)
},
IsWeekend = IsRegularWeekend
)
)
UsCalendar <- function() new(Class = "UsCalendar")
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.