blob: 3517634dbef26622d81ddf1bceb4cf23c6ad16b8 [file] [log] [blame]
% File src/library/base/man/round.POSIXt.Rd
% Part of the R package, https://www.R-project.org
% Copyright 1995-2022 R Core Team
% Distributed under GPL 2 or later
\name{round.POSIXt}
\alias{round.POSIXt}
\alias{trunc.POSIXt}
\alias{round.Date}
\alias{trunc.Date}
\title{Round / Truncate Data-Time Objects}
\description{
Round or truncate date-time objects.
}
\usage{
\method{round}{POSIXt}(x,
units = c("secs", "mins", "hours", "days", "months", "years"))
\method{trunc}{POSIXt}(x,
units = c("secs", "mins", "hours", "days", "months", "years"),
\dots)
\method{round}{Date}(x, \dots)
\method{trunc}{Date}(x,
units = c("secs", "mins", "hours", "days", "months", "years"),
\dots)
}
\arguments{
\item{x}{an object inheriting from \code{"\link{POSIXt}"} or \code{"\link{Date}"}.}
\item{units}{one of the units listed, a string. Can be abbreviated.}
\item{\dots}{arguments to be passed to or from other methods, notably
\code{digits} for \code{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 \link{time zone} is used.
For \code{units} arguments besides \dQuote{months} and \dQuote{years},
the methods for class \code{"Date"} are of little use except to remove
fractional days.
}
\value{
An object of class \code{"POSIXlt"} or \code{"Date"}.
}
\seealso{
\code{\link{round}} for the generic function and default methods.
\code{\link{DateTimeClasses}}, \code{\link{Date}}
}
\examples{
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)))
}
\keyword{chron}