Написание кода для изменения рабочих дней в соответствии с выходными и федеральными выходными, но по какой-то причине моя переменная 'theDate' не печатает на десять лет раньше, даже если она хранится как правильная дата в моей среде RStudio.
Я пробовал различные форматы дат, но я не могу понять, что является причиной этой проблемы.
library(date)
library(tis)
start <- as.Date("2019-01-01", '%Y-%d-%m')
end <- as.Date("2020-01-01", '%Y-%d-%m')
theDate <- start
while (theDate <= end)
{
if(weekdays(theDate) == 'Saturday'){
ModDate <- theDate - 1
} else if(weekdays(theDate) == 'Sunday'){
ModDate <- theDate - 2
} else if(weekdays(theDate) == 'Monday'){
ModDate <- theDate - 3
} else {
ModDate <- theDate - 1
}
if(isHoliday(ModDate) == TRUE){
ModDate <- previousBusinessDay(ModDate)
} else {
}
FormatDate <- format(ModDate, '%m/%d/%Y')
cat("\nBaseDate: ", date.mmddyyyy(theDate), "\tMBP Date: ",
FormatDate)
theDate <- theDate + 1
}
Ожидайте что-то вроде этого:
- BaseDate: 31.12.2017 MBP Date: 12/31/2018
- BaseDate: 1/1/ 2019 MBP Дата: 12/31/2018
- BaseDate: 1/2/2019 MBP Дата: 01/02/2019
Но продолжайте получать это:
- BaseDate: 31.12.2008 MBP Date: 12/31/2018
- BaseDate: 01.01.2009 MBP Date: 12/31/2018
- BaseDate: 1 /2/2009 MBP Дата: 01/02/2019