Add a Month to a Date
Clueless adding numbers of months to a date will in some cases lead to invalid dates, think of e.g. 2012-01-30 + 1 month.
AddMonths ensures that the result is always a valid date, e.g.
as.Date("2013-01-31") + 1 month
will be "2013-02-28"
. If number n
is negative, the months will be subtracted.
AddMonths(x, n, ...)
All parameters will be recyled if necessary.
a vector of class Date
with the same dimension as x
, containing the transformed dates.
Andri Signorell <andri@signorell.net>, based on code by Roland Rapold and Antonio
Thanks to Antonio: https://stackoverflow.com/questions/14169620/add-a-month-to-a-date
AddMonthsYM
; Date functions: Year
, Month
, etc.
# characters will be coerced to Date AddMonths("2013-01-31", 1) # negative n AddMonths(as.Date("2013-03-31"), -1) # Arguments will be recycled # (with warning if the longer is not a multiple of length of shorter) AddMonths(c("2013-01-31", "2013-03-31", "2013-10-31", "2013-12-31"), c(1,-1)) x <- as.POSIXct(c("2015-01-31", "2015-08-31")) n <- c(1, 3) AddMonths(x, n) # mind the origin if x supplied as numeric ... x <- as.numeric(as.Date(x)) AddMonths(x, n, origin=as.Date("1970-01-01"))
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.