round.POSIXt {base} | R Documentation |
Round or truncate date-time objects.
## 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"),
...)
x |
|
units |
one of the units listed, a string. Can be abbreviated. |
... |
arguments to be passed to or from other methods, notably
|
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.
An object of class "POSIXlt"
or "Date"
.
round
for the generic function and default methods.
round(.leap.seconds + 1000, "hour")
## IGNORE_RDIFF_BEGIN
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"))
## IGNORE_RDIFF_END
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)))