difftime {base} | R Documentation

## Time Intervals

### Description

Create, print and round time intervals.

### Usage

    time1 - time2
    difftime(time1, time2, tz = "",
             units = c("auto", "secs", "mins", "hours", "days", "weeks"))
    as.difftime(tim, format = "%X")

    ## S3 method for class 'difftime':
    round(x, digits = 0)

### Arguments

`time1, time2` | date-time objects.
`tz` | a timezone specification to be used for the conversion. System-specific, but `""` is the current time zone, and `"GMT"` is UTC.
`units` | character. Units in which the results are desired. Can be abbreviated.
`tim` | character string specifying a time interval.
`format` | character specifying the format of `tim`.
`x` | an object inheriting from class `"difftime"`.
`digits` | integer. Number of significant digits to retain.

### Details

Function `difftime` takes a difference of two date/time objects (of either class) and returns an object of class `"difftime"` with an attribute indicating the units. There is a `round` method for objects of this class, as well as methods for the group-generic (see `Ops`) logical and arithmetic operations.

If `units = "auto"`, a suitable set of units is chosen, the largest possible (excluding `"weeks"`) in which all the absolute differences are greater than one.

Subtraction of two date-time objects gives an object of this class, by calling `difftime` with `units="auto"`. Alternatively, `as.difftime()` works on character-coded time intervals.

Limited arithmetic is available on `"difftime"` objects: they can be added or subtracted, and multiplied or divided by a numeric vector. In addition, adding or subtracting a numeric vector implicitly converts the numeric vector to a `"difftime"` object with the same units as the `"difftime"` object.

### See Also

`DateTimeClasses`.

### Examples

    (z <- Sys.time() - 3600)
    Sys.time() - z                # just over 3600 seconds.

    ## time interval between releases of 1.2.2 and 1.2.3.
    ISOdate(2001, 4, 26) - ISOdate(2001, 2, 26)

    as.difftime(c("0:3:20", "11:23:15"))
    as.difftime(c("3:20", "23:15", "2:"), format= "%H:%M")# 3rd gives NA

[Package Contents]