R语言中判断闰年与平年的方法与获取指定月份的天数
初学者,如有错误,还请谅解!
CalDateDays <- function(date){
year <- as.numeric(format(date,format = "%Y"))
m <- format(date,format = "%m")
days31 <- c("01","03","05","07","08","10","12")
days30 <- c("04","06","09","11")
days29 <- c("02")
days28 <- c("02")
if ((year %% 4 == 0) & (year %% 100 != 0)) {
yearDays <- 366
if(m %in% days31){
monthDays <- 31
}else if(m %in% days30){
monthDays <- 30
}else if(m %in% days29){
monthDays <- 29
}
}else if ((year %% 100 == 0) & (year %% 400 == 0)) {
yearDays <- 366
if(m %in% days31){
monthDays <- 31
}else if(m %in% days30){
monthDays <- 30
}else if(m %in% days29){
monthDays <- 29
}
}else{
yearDays <- 365
if(m %in% days31){
monthDays <- 31
}else if(m %in% days30){
monthDays <- 30
}else if(m %in% days28){
monthDays <- 28
}
}
return(c(yearDays,monthDays))
}
============ 实例 ===============
date<-as.Date("2000-2-11","%Y-%m-%d")
date
days<-CalDateDays(date)
days