# chron

##### Create a Chronological Object

##### Usage

`chron(dates, times, format = c("m/d/y","h:m:s"), out.format, origin)`

##### Arguments

- dates
- character or numeric vector specifying dates.
If character,
`dates`

are assumed to be in one of the date formats below; if numeric,`dates`

are assumed to be Julian dates, i.e., number of days since`origin`

. - times
- optional character or numeric vector specifying times of day.
If character,
`times`

are assumed to be in one of the time formats below; if numeric,`times`

are assumed to be fractions of a day. - format
- vector or list specifying the input format of the input.
The format can be either strings specifying one of the recognized
formats below or a list of user-supplied functions to convert dates
from character into Julian dates and vice versa.
- out.format
- vector or list specifying date and time format for printing and
output. Default is same as
`format`

. - origin
- a vector specifying the date with respect to which Julian dates
are computed. Default is
`c(month = 1, day = 1, year = 1970)`

; you may set the option`chron.origin`

to specify your own default, e.g.,`options(chr`

##### Value

- An object of class
`times`

if only`times`

were specified,`dates`

if only`dates`

, or`chron`

if both`dates =`

and`times =`

were supplied. All these inherit from class`times`

.These objects represent dates and times of day, and allow the following arithmetic and summaries: subtraction

`d1-d2`

, constant addition`d1+constants`

, all logical comparisons, summaries`min()`

,`max()`

, and`range()`

(which drop NAs by default); constants specify days (fractions are converted to time-of-day, e.g., 2.5 represents 2 days and 12 hours). Operations such as sorting, differencing, etc., are automatically handled.There are methods for

`as.character()`

,`as.numeric()`

,`cut()`

,`is.na()`

,`print()`

,`summary()`

,`plot()`

,`lines()`

,`lag()`

, and the usual subsetting functions`[`

,`[<-`

. The functions`days()`

,`months()`

,`quarters()`

,`years()`

,`weeks()`

,`weekdays()`

,`hours()`

,`minutes()`

, and`seconds()`

take any`chron`

object as input and extract the corresponding time interval.`cut()`

is used to create ordered factors from`chron`

objects. Chronological objects may be used with the modeling software.The current implementation of

`chron`

objects does not handle time zones nor daylight savings time.

##### See Also

##### Examples

```
dts <- dates(c("02/27/92", "02/27/92", "01/14/92",
"02/28/92", "02/01/92"))
dts
# [1] 02/27/92 02/27/92 01/14/92 02/28/92 02/01/92
tms <- times(c("23:03:20", "22:29:56", "01:03:30",
"18:21:03", "16:56:26"))
tms
# [1] 23:03:20 22:29:56 01:03:30 18:21:03 16:56:26
x <- chron(dates = dts, times = tms)
x
# [1] (02/27/92 23:03:19) (02/27/92 22:29:56) (01/14/92 01:03:30)
# [4] (02/28/92 18:21:03) (02/01/92 16:56:26)
# We can add or subtract scalars (representing days) to dates or
# chron objects:
c(dts[1], dts[1] + 10)
# [1] 02/27/92 03/08/92
dts[1] - 31
# [1] 01/27/92
# We can substract dates which results in a times object that
# represents days between the operands:
dts[1] - dts[3]
# Time in days:
# [1] 44
# Logical comparisons work as expected:
dts[dts > "01/25/92"]
# [1] 02/27/92 02/27/92 02/28/92 02/01/92
dts > dts[3]
# [1] TRUE TRUE FALSE TRUE TRUE
# Summary operations which are sensible are permitted and work as
# expected:
range(dts)
# [1] 01/14/92 02/28/92
diff(x)
# Time in days:
# [1] -0.02319444 -44.89335648 45.72052083 -27.05876157
sort(dts)[1:3]
# [1] 01/14/92 02/01/92 02/27/92
```

*Documentation reproduced from package chron, version 2.1-6, License: Copyright (c) 1997 Lucent Technologies. See the file `COPYING' for further information.*