R/njours.R

Defines functions njours

Documented in njours

#' Nombre de jours
#'
#' Calcul le nombre de jours dans l'interval \[`date1`, `date2`\].
#'
#' @param date1,date2 Date de départ et de fin pour le calcul du nombre de jours.
#'
#' @return numeric
#' @importFrom lubridate is.Date as_date
#' @export
#' @examples
#' njours("2016-01-01", "2016-01-31")  # 1 valeur par argument
#' njours(  # plusieurs valeurs par arguments
#'   c("2016-01-01", "2016-01-01", "2016-06-01"),  # date1
#'   c("2016-01-31", "2016-12-31", "2016-07-24")  # date2
#' )
njours <- function(date1, date2=NULL){
  if(!is.Date(date1)) date1 <- as_date(date1)  # convertir en format DATE au besoin
  if(is.na(date1)) stop("date1 n'est pas au format 'AAAA-MM-JJ'.")
  if(is.null(date2)) date2 <- date1 else if(!is.Date(date2)) date2 <- as_date(date2)
  if(is.na(date2)) stop("date2 n'est pas au format 'AAAA-MM-JJ.")

  return(mapply(function(date1, date2){
    return(date2 - date1 + 1)  # nombre de jours [date1; date2]
  },
  date1 = date1,
  date2 = date2,
  SIMPLIFY = TRUE,
  USE.NAMES = FALSE))

}
guiboucher/INESSS-inesss documentation built on April 20, 2020, 10:47 p.m.