R语言学习-读取最大天数及指定日期到现在的时间列表

#前言

   周未弄了工具站toolfk.com 的六个功能。累死,虽然都是开源的。直接拿来稍修改后就可以直接用了。但还是花时间啊。准备用一周的晚上时间再弄个网站,弄不好就先放着。到时上线时再细说。项目有需要把一个数据的一整年数据下载下来,所以就有了这篇文章。


#上码

setwd("/Users/hubs/Desktop/RDemo");

source("utils/Contents.R")
source("utils/DbUtils.R")

#https://stackoverflow.com/questions/6243088/find-out-the-number-of-days-of-a-month-in-r
numberOfDays <- function(date_str) {
  date   <- as.Date(date_str)
  cat("date = ",date," and str = ",date_str,"\n");
  m      <- format(date, format="%m")
  while (format(date, format="%m") == m) {
    date <- date + 1
  }
  return(as.integer(format(date - 1, format="%d")))
}

list_days     <-NULL

date_start    <- as.Date('2018-01-01')
date_year     <- format(date_start,"%Y")
date_month    <- as.numeric(format(date_start,"%m"))
list_months   <- date_month:12

date_end      <- as.Date(Sys.Date()-1,"%Y-%m-%d")
date_end_month<- as.numeric(format(date_end,"%m"))
date_end_day  <- as.numeric(format(date_end,"%d"))

cat("date_end = ",date_end," and day = ",date_end_day,"\n")
for(month in list_months){
  if(month>date_end_month){
    break;
  }
  #如果是当前月,则不需要再去取最大日期了
  if(month == date_end_month){
    max_days  <- date_end_day
  }else{
    if(month<10){
      tmp_month <- paste("0",month,sep='')
    }else{
      tmp_month <- month
    }
    max_days  <- as.numeric(numberOfDays(paste(date_year,"-",tmp_month,"-","01",sep = "")))
  }
  for(tmp_day in 1:maxDays){
    ymd <- paste(date_year,"-",month,"-",tmp_day,sep="")
    list_days <-c(list_days,ymd)
  }
}
for(day in list_days){
  cat("HELLO = ",day,"\n")
}

#输出
HELLO =  2018-1-1 
HELLO =  2018-1-2 
HELLO =  2018-1-3 
HELLO =  2018-1-4 
HELLO =  2018-1-5 
......


本文链接:http://www.hihubs.com/article/396

关键字:R语言学习-读取最大天数及指定日期到现在的时间列表

若无特别注明,文章皆为Hubs'm原创,转载请注明出处...O(∩_∩)O