year-month-day-arithmetic {clock} R Documentation

## Arithmetic: year-month-day

### Description

These are year-month-day methods for the arithmetic generics.

• add_years()

• add_quarters()

• add_months()

Notably, you cannot add days to a year-month-day. For day-based arithmetic, first convert to a time point with as_naive_time() or as_sys_time().

### Usage

## S3 method for class 'clock_year_month_day'

## S3 method for class 'clock_year_month_day'

## S3 method for class 'clock_year_month_day'


### Arguments

 x ⁠[clock_year_month_day]⁠ A year-month-day vector. n ⁠[integer / clock_duration]⁠ An integer vector to be converted to a duration, or a duration corresponding to the arithmetic function being used. This corresponds to the number of duration units to add. n may be negative to subtract units of duration. ... These dots are for future extensions and must be empty.

### Details

Adding a single quarter with add_quarters() is equivalent to adding 3 months.

x and n are recycled against each other using tidyverse recycling rules.

### Value

x after performing the arithmetic.

### Examples

x <- year_month_day(2019, 1, 1)

y <- year_month_day(2019, 1, 31)

# Adding 1 month to y generates an invalid date
y_plus

# Invalid dates are fine, as long as they are eventually resolved
# by either manually resolving, or by calling invalid_resolve()

# Resolve by returning the previous / next valid moment in time
invalid_resolve(y_plus, invalid = "previous")
invalid_resolve(y_plus, invalid = "next")

# Manually resolve by setting to the last day of the month
invalid <- invalid_detect(y_plus)
y_plus[invalid] <- set_day(y_plus[invalid], "last")
y_plus


[Package clock version 0.7.0 Index]