date_shift() shifts x to the target weekday. You can shift to the next
or previous weekday. If x is currently on the target weekday, you can
choose to leave it alone or advance it to the next instance of the target.
There are separate help pages for shifting dates and date-times:
Arguments
- x
[Date / POSIXct / POSIXlt]A date or date-time vector.
- target
[weekday]A weekday created from
weekday()to target.Generally this is length 1, but can also be the same length as
x.- ...
These dots are for future extensions and must be empty.
- which
[character(1)]One of:
"next": Shift to the next instance of thetargetweekday."previous: Shift to the previous instance of thetargetweekday.
- boundary
[character(1)]One of:
"keep": Ifxis currently on thetargetweekday, return it."advance": Ifxis currently on thetargetweekday, advance it anyways.
Examples
# See the type specific documentation for more examples
x <- as.Date("2019-01-01") + 0:1
# A Tuesday and Wednesday
as_weekday(x)
#> <weekday[2]>
#> [1] Tue Wed
monday <- weekday(clock_weekdays$monday)
# Shift to the next Monday
date_shift(x, monday)
#> [1] "2019-01-07" "2019-01-07"
