AddMonths {DescTools} | R Documentation |

## Add a Month to a Date

### Description

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.

### Usage

```
AddMonths(x, n, ...)
```

### Arguments

`x` |
a Date object (or something which can be coerced by |

`n` |
the number of months to be added. If n is negative the months will be subtracted. |

`...` |
the dots are passed to |

### Details

All parameters will be recyled if necessary.

### Value

a vector of class `Date`

with the same dimension as `x`

, containing the transformed dates.

### Author(s)

Andri Signorell <andri@signorell.net>, based on code by Roland Rapold and Antonio

### References

Thanks to Antonio: https://stackoverflow.com/questions/14169620/add-a-month-to-a-date

### See Also

`as.ym`

; Date functions: `Year`

, `Month`

, etc.

### Examples

```
# 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"))
```

*DescTools*version 0.99.55 Index]