| quick_periods {lubridate} | R Documentation |
Quickly create Period objects for easy date-time manipulation. The units of
the period created depend on the name of the function called. For Period
objects, units do not have a fixed length until they are added to a specific
date time, contrast this with duration. This makes periods useful
for manipulations with clock times because units expand or contract in length
to accomodate conventions such as leap years, leap seconds, and Daylight
Savings Time.
seconds(x = 1) minutes(x = 1) hours(x = 1) days(x = 1) weeks(x = 1) years(x = 1) milliseconds(x = 1) microseconds(x = 1) nanoseconds(x = 1) picoseconds(x = 1) ## S3 method for class 'numeric' months(x, abbreviate)
x |
numeric value of the number of units to be contained in the period. With the exception of seconds(), x must be an integer. |
abbreviate |
Ignored. For consistency with S3 generic in base namespace. |
When paired with date-times, these functions allow date-times to be manipulated in a method similar to object oriented programming. Period objects can be added to Date, POSIXct, and POSIXlt objects to calculate new date-times.
Note: Arithmetic with periods can results in undefined behavior when
non-existent dates are involved (such as February 29th in non-leap
years). Please see Period-class for more details and
%m+% and add_with_rollback for alternative
operations.
a period object
Period-class, period,
ddays, %m+%, add_with_rollback
x <- as.POSIXct("2009-08-03")
x + days(1) + hours(6) + minutes(30)
x + days(100) - hours(8)
class(as.Date("2009-08-09") + days(1)) # retains Date class
as.Date("2009-08-09") + hours(12)
class(as.Date("2009-08-09") + hours(12))
# converts to POSIXt class to accomodate time units
years(1) - months(7)
c(1:3) * hours(1)
hours(1:3)
#sequencing
y <- ymd(090101) # "2009-01-01 CST"
y + months(0:11)
# compare DST handling to durations
boundary <- as.POSIXct("2009-03-08 01:59:59")
boundary + days(1) # period
boundary + ddays(1) # duration
# seconds later)