update.Date() and update.POSIXt() return a date with the specified elements updated. Elements not specified will be left unaltered. update.Date and update.POSIXt do not add the specified values to the existing date, they substitute them for the appropriate parts of the existing date.

# S3 method for POSIXt
update(object, ..., roll = FALSE,
  week_start = getOption("lubridate.week.start", 7), simple = NULL)

Arguments

object

a date-time object

...

named arguments: years, months, ydays, wdays, mdays, days, hours, minutes, seconds, tzs (time zone compnent)

roll

logical. If TRUE, and the resulting date-time lands on a non-existent civil time instant (DST, 29th February, etc.) roll the date till next valid point. When FALSE, the default, produce NA for non existing date-times.

week_start

week starting day (Default is 7, Sunday). Set lubridate.week.start option to control this.

simple

logical. Deprecated. Same as roll.

Value

a date object with the requested elements updated. The object will retain its original class unless an element is updated which the original class does not support. In this case, the date returned will be a POSIXlt date object.

Examples

date <- as.POSIXlt("2009-02-10") update(date, year = 2010, month = 1, mday = 1)
#> [1] "2010-01-01 PST"
update(date, year =2010, month = 13, mday = 1)
#> [1] "2011-01-01 PST"
update(date, minute = 10, second = 3)
#> [1] "2009-02-10 00:10:03 PST"