R: Round / Truncate Date-Time Objects (original) (raw)
round.POSIXt {base} | R Documentation |
---|
Description
Round or truncate date-time objects.
Usage
## S3 method for class 'POSIXt'
round(x,
units = c("secs", "mins", "hours", "days", "months", "years"))
## S3 method for class 'POSIXt'
trunc(x,
units = c("secs", "mins", "hours", "days", "months", "years"),
...)
## S3 method for class 'Date'
round(x, ...)
## S3 method for class 'Date'
trunc(x,
units = c("secs", "mins", "hours", "days", "months", "years"),
...)
Arguments
x | an object inheriting from "POSIXt" or "Date". |
---|---|
units | one of the units listed, a string. Can be abbreviated. |
... | arguments to be passed to or from other methods, notablydigits for round. |
Details
The time is rounded or truncated to the second, minute, hour, day, month or year. Time zones are only relevant to days or more, when midnight in the current time zone is used.
For units
arguments besides “months” and “years”, the methods for class "Date"
are of little use except to remove fractional days.
Value
An object of class "POSIXlt"
or "Date"
.
See Also
[round](../../base/help/round.html)
for the generic function and default methods.
[DateTimeClasses](../../base/help/DateTimeClasses.html)
, [Date](../../base/help/Date.html)
Examples
round(.leap.seconds + 1000, "hour")
trunc(Sys.time(), "day")
(timM <- trunc(Sys.time() -> St, "months")) # shows timezone
(datM <- trunc(Sys.Date() -> Sd, "months"))
(timY <- trunc(St, "years")) # + timezone
(datY <- trunc(Sd, "years"))
stopifnot(inherits(datM, "Date"), inherits(timM, "POSIXt"),
substring(format(datM), 9,10) == "01", # first of month
substring(format(datY), 6,10) == "01-01", # Jan 1
identical(format(datM), format(timM)),
identical(format(datY), format(timY)))
[Package _base_ version 4.6.0 Index]