as.interval: Change an object to an 'interval'

View source: R/coercion.r

as.intervalR Documentation

Change an object to an interval


as.interval changes difftime, Duration, Period and numeric class objects to intervals that begin at the specified date-time. Numeric objects are first coerced to timespans equal to the numeric value in seconds.


as.interval(x, start, ...)



a duration, difftime, period, or numeric object that describes the length of the interval


a POSIXt or Date object that describes when the interval begins


additional arguments to pass to as.interval


as.interval can be used to create accurate transformations between Period objects, which measure time spans in variable length units, and Duration objects, which measure timespans as an exact number of seconds. A start date- time must be supplied to make the conversion. Lubridate uses this start date to look up how many seconds each variable length unit (e.g. month, year) lasted for during the time span described. See as.duration(), as.period().


an interval object

See Also



diff <- make_difftime(days = 31) # difftime
as.interval(diff, ymd("2009-01-01"))
as.interval(diff, ymd("2009-02-01"))

dur <- duration(days = 31) # duration
as.interval(dur, ymd("2009-01-01"))
as.interval(dur, ymd("2009-02-01"))

per <- period(months = 1) # period
as.interval(per, ymd("2009-01-01"))
as.interval(per, ymd("2009-02-01"))

as.interval(3600, ymd("2009-01-01")) # numeric

lubridate documentation built on Sept. 27, 2023, 5:07 p.m.