Change an object to a period.

as.period changes Interval, Duration, difftime and numeric class objects to Period class objects with the specified units.

manip, classes, methods, chron
as.period(x, unit, ...)
an interval, difftime, or numeric object
A character string that specifies which time units to build period in. unit is only implemented for the as.period.numeric method and the as.period.interval method. For as.period.interval, as.period will convert intervals to units no larger than th
additional arguments to pass to as.period

Users must specify which time units to measure the period in. The exact length of each time unit in a period will depend on when it occurs. See Period-class and new_period. The choice of units is not trivial; units that are normally equal may differ in length depending on when the time period occurs. For example, when a leap second occurs one minute is longer than 60 seconds.

Because periods do not have a fixed length, they can not be accurately converted to and from Duration objects. Duration objects measure time spans in exact numbers of seconds, see Duration-class. Hence, a one to one mapping does not exist between durations and periods. When used with a Duration object, as.period provides an inexact estimate; the duration is broken into time units based on the most common lengths of time units, in seconds. Because the length of months are particularly variable, a period with a months unit can not be coerced from a duration object. For an exact transformation, first transform the duration to an interval with as.interval.


  • a period object

See Also

Period-class, new_period

  • as.period
  • as.period,Duration-method
  • as.period,Interval-method
  • as.period,Period-method
  • as.period,difftime-method
  • as.period,numeric-method
span <- new_interval(as.POSIXct("2009-01-01"), as.POSIXct("2010-02-02 01:01:01")) #interval
# 2009-01-01 CST--2010-02-02 01:01:01 CST
# "1y 1m 1d 1H 1M 1S"
as.period(span, units = "day")
"397d 1H 1M 1S"
Documentation reproduced from package lubridate, version 1.2.0, License: GPL

Community examples

Looks like there are no examples yet.