duration-arithmetic {clock} | R Documentation |
Arithmetic: duration
Description
These are duration methods for the arithmetic generics.
-
add_years()
-
add_quarters()
-
add_months()
-
add_weeks()
-
add_days()
-
add_hours()
-
add_minutes()
-
add_seconds()
-
add_milliseconds()
-
add_microseconds()
-
add_nanoseconds()
When adding to a duration using one of these functions, a second duration
is created based on the function name and n
. The two durations are then
added together, and the precision of the result is determined as the
more precise precision of the two durations.
Usage
## S3 method for class 'clock_duration'
add_years(x, n, ...)
## S3 method for class 'clock_duration'
add_quarters(x, n, ...)
## S3 method for class 'clock_duration'
add_months(x, n, ...)
## S3 method for class 'clock_duration'
add_weeks(x, n, ...)
## S3 method for class 'clock_duration'
add_days(x, n, ...)
## S3 method for class 'clock_duration'
add_hours(x, n, ...)
## S3 method for class 'clock_duration'
add_minutes(x, n, ...)
## S3 method for class 'clock_duration'
add_seconds(x, n, ...)
## S3 method for class 'clock_duration'
add_milliseconds(x, n, ...)
## S3 method for class 'clock_duration'
add_microseconds(x, n, ...)
## S3 method for class 'clock_duration'
add_nanoseconds(x, n, ...)
Arguments
x |
A duration vector. |
n |
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. |
... |
These dots are for future extensions and must be empty. |
Details
You can add calendrical durations to other calendrical durations, and chronological durations to other chronological durations, but you can't add a chronological duration to a calendrical duration (such as adding days and months). For more information, see the documentation on the duration helper page.
x
and n
are recycled against each other using
tidyverse recycling rules.
Value
x
after performing the arithmetic, possibly with a more precise
precision.
Examples
x <- duration_seconds(5)
# Addition in the same precision
add_seconds(x, 1:10)
# Addition with days, defined as 86400 seconds
add_days(x, 1)
# Similarly, if you start with days and add seconds, you get the common
# precision of the two back, which is seconds
y <- duration_days(1)
add_seconds(y, 5)
# But you can't add a chronological duration (days) and
# a calendrical duration (months)
try(add_months(y, 1))
# You can add years to a duration of months, which adds
# an additional 12 months / year
z <- duration_months(5)
add_years(z, 1)