hms (version 0.4.2)

hms: A simple class for storing time-of-day values

Description

The values are stored as a difftime vector with a custom class, and always with "seconds" as unit for robust coercion to numeric. Supports construction from time values, coercion to and from various data types, and formatting. Can be used as a regular column in a data frame.

Usage

hms(seconds = NULL, minutes = NULL, hours = NULL, days = NULL)

is.hms(x)

as.hms(x, ...)

# S3 method for default as.hms(x, ...)

# S3 method for difftime as.hms(x, ...)

# S3 method for numeric as.hms(x, ...)

# S3 method for character as.hms(x, ...)

# S3 method for POSIXt as.hms(x, tz = pkgconfig::get_config("hms::default_tz", ""), ...)

# S3 method for POSIXlt as.hms(x, tz = pkgconfig::get_config("hms::default_tz", ""), ...)

# S3 method for hms as.POSIXct(x, ...)

# S3 method for hms as.POSIXlt(x, ...)

# S3 method for hms as.character(x, ...)

# S3 method for hms as.data.frame(x, row.names = NULL, optional = FALSE, ..., nm = paste(deparse(substitute(x), width.cutoff = 500L), collapse = " "))

# S3 method for hms format(x, ...)

# S3 method for hms print(x, ...)

Arguments

seconds, minutes, hours, days

Time since midnight. No bounds checking is performed.

x

An object.

...

Arguments passed on to further methods.

tz

The time zone in which to interpret a POSIXt time for extracting the time of day. The default is now the zone of x but was "UTC" for v0.3 and earlier. The previous behavior can be restored by calling pkgconfig::set_config("hms::default_tz", "UTC"), see pkgconfig::set_config().

row.names

NULL or a character vector giving the row names for the data frame. Missing values are not allowed.

optional

logical. If TRUE, setting row names and converting column names (to syntactic names: see make.names) is optional. Note that all of R's base package as.data.frame() methods use optional only for column names treatment, basically with the meaning of data.frame(*, check.names = !optional).

nm

Name of column in new data frame

Details

For hms, all arguments must have the same length or be NULL. Odd combinations (e.g., passing only seconds and hours but not minutes) are rejected.

Examples

Run this code
# NOT RUN {
hms(56, 34, 12)
hms()
as.hms(1)
as.hms("12:34:56")
as.hms(Sys.time())
as.POSIXct(hms(1))
data.frame(a = hms(1))
d <- data.frame(hours = 1:3)
d$hours <- hms(hours = d$hours)
d
# }

Run the code above in your browser using DataLab