Compute the exact length of a time span

time_length(x, unit = "second")

# S4 method for Interval
time_length(x, unit = "second")

## Arguments

x a duration, period, difftime or interval a character string that specifies with time units to use

## Value

the length of the interval in the specified unit. A negative number connotes a negative interval or duration

## Details

When x is an Interval object and unit are years or months, time_length() takes into account the fact that all months and years don't have the same number of days.

When x is a Duration, Period or difftime() object, length in months or years is based on their most common lengths in seconds (see timespan()).

## See also

timespan()

## Examples

int <- interval(ymd("1980-01-01"), ymd("2014-09-18"))
time_length(int, "week")#> [1] 1811.286
# Exact age
time_length(int, "year")#> [1] 34.71233
# Age at last anniversary
trunc(time_length(int, "year"))#> [1] 34
# Example of difference between intervals and durations
int <- interval(ymd("1900-01-01"), ymd("1999-12-31"))
time_length(int, "year")#> [1] 99.99726time_length(as.duration(int), "year")#> [1] 100.063