Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 为什么是';日期';十年后打印出来?_R_Date - Fatal编程技术网

R 为什么是';日期';十年后打印出来?

R 为什么是';日期';十年后打印出来?,r,date,R,Date,编写代码以根据周末和联邦假日修改工作日,但出于某种原因,我的'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 whil

编写代码以根据周末和联邦假日修改工作日,但出于某种原因,我的'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                    
}
库(日期)
图书馆(tis)
开始日期。mmddyyyy(theDate)
不会将日期格式更改为
mm/dd/yyyy

date.mmddyyy
帮助:

给定一个朱利安日期向量,它以“10/11/1989”、“28/7/1854”等形式返回它们

date.mmddyyyy(theDate)
正在尝试解析一个已经解析过的日期,因此奇怪的结果会延迟十年

我们可以使用
格式
来修复它:

cat("\nBaseDate: ", format(theDate, '%m/%d/%Y'), "\tMBP Date: ", FormatDate)

BaseDate:  01/01/2019   MBP Date:  12/31/2018
BaseDate:  01/02/2019   MBP Date:  12/31/2018
BaseDate:  01/03/2019   MBP Date:  01/02/2019
BaseDate:  01/04/2019   MBP Date:  01/03/2019
BaseDate:  01/05/2019   MBP Date:  01/04/2019
BaseDate:  01/06/2019   MBP Date:  01/04/2019

功能
isHoliday
previousBusinessDay
date.mmddyyyy
来自哪里?哎呀,对不起
iSoliday
Previous businessday
来自
tis
date。mmddyyy
来自
date
日期。mmddyyyy不是您想要的。请参阅
date.mmddyyyy(start)
您可能只想:
cat(“\nBaseDate:”,format(theDate),%m/%d/%Y'),“\tMBP date:”,FormatDate)
如果我删除
date.mmddyyy
我会输出朱利安数,但它们还有十年的时间。