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)



a date-time object


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


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 starting day (Default is 7, Sunday). Set lubridate.week.start option to control this.


logical. Deprecated. Same as roll.


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.


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"