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
Weekday shifting is one of the easiest ways to floor by week while
controlling what is considered the first day of the week. You can also
accomplish this with the
origin argument of
date_floor(), but this is
# S3 method for Date date_shift(x, target, ..., which = "next", boundary = "keep")
A date vector.
A weekday created from
Generally this is length 1, but can also be the same length as
These dots are for future extensions and must be empty.
x shifted to the
#> <weekday> #>  Tue Wed#>  "2019-01-07" "2019-01-07"# Shift to the previous Monday # This is an easy way to "floor by week" with a target weekday in mind date_shift(x, monday, which = "previous")#>  "2018-12-31" "2018-12-31"# What about Tuesday? tuesday <- weekday(clock_weekdays$tuesday) # Notice that the day that was currently on a Tuesday was not shifted date_shift(x, tuesday)#>  "2019-01-01" "2019-01-08"# You can force it to `"advance"` date_shift(x, tuesday, boundary = "advance")#>  "2019-01-08" "2019-01-08"