rollback changes a date to the last day of the previous month or to the first day of the month. Optionally, the new date can retain the same hour, minute, and second information.

rollback(dates, roll_to_first = FALSE, preserve_hms = TRUE)

Arguments

dates

A POSIXct, POSIXlt or Date class object.

roll_to_first

Rollback to the first day of the month instead of the last day of the previous month

preserve_hms

Retains the same hour, minute, and second information? If FALSE, the new date will be at 00:00:00.

Value

A date-time object of class POSIXlt, POSIXct or Date, whose day has been adjusted to the last day of the previous month, or to the first day of the month.

Examples

date <- ymd("2010-03-03") rollback(date)
#> [1] "2010-02-28"
dates <- date + months(0:2) rollback(dates)
#> [1] "2010-02-28" "2010-03-31" "2010-04-30"
date <- ymd_hms("2010-03-03 12:44:22") rollback(date)
#> [1] "2010-02-28 12:44:22 UTC"
rollback(date, roll_to_first = TRUE)
#> [1] "2010-03-01 12:44:22 UTC"
rollback(date, preserve_hms = FALSE)
#> [1] "2010-02-28 UTC"
rollback(date, roll_to_first = TRUE, preserve_hms = FALSE)
#> [1] "2010-03-01 UTC"