R: Extract Parts of a POSIXt or Date Object

weekdays {base} | R Documentation

## Extract Parts of a POSIXt or Date Object

### Description

Extract the weekday, month or quarter, or the Julian time (days since some origin). These are generic functions: the methods for the internal date-time classes are documented here.

### Usage

    weekdays(x, abbreviate)
    ## S3 method for class 'POSIXt':
    weekdays(x, abbreviate = FALSE)
    ## S3 method for class 'Date':
    weekdays(x, abbreviate = FALSE)

    months(x, abbreviate)
    ## S3 method for class 'POSIXt':
    months(x, abbreviate = FALSE)
    ## S3 method for class 'Date':
    months(x, abbreviate = FALSE)

    quarters(x, abbreviate)
    ## S3 method for class 'POSIXt':
    quarters(x, ...)
    ## S3 method for class 'Date':
    quarters(x, ...)

    julian(x, ...)
    ## S3 method for class 'POSIXt':
    julian(x, origin = as.POSIXct("1970-01-01", tz="GMT"), ...)
    ## S3 method for class 'Date':
    julian(x, origin = as.Date("1970-01-01"), ...)

### Arguments

`x` | an object inheriting from class `"POSIXt"` or `"Date"`.
`abbreviate` | logical. Should the names be abbreviated?
`origin` | an length-one object inheriting from class `"POSIXt"` or `"Date"`.
`...` | arguments for other methods.

### Value

`weekdays` and `months` return a character vector of names in the locale in use.
`quarters` returns a character vector of `"Q1"` to `"Q4"`.
`julian` returns the number of days (possibly fractional) since the origin, with the origin as a `"origin"` attribute.

### Note

Other components such as the day of the month or the year are very easy to compute: just use `as.POSIXlt` and extract the relevant component.

### See Also

`DateTimeClasses`, `Date`

### Examples

    weekdays(.leap.seconds)
    months(.leap.seconds)
    quarters(.leap.seconds)

    ## Julian Day Number (JDN, http://en.wikipedia.org/wiki/Julian_day)
    ## is the number of days since noon UTC on the first day of 4317 BC.
    julian(Sys.Date(), -2440588) # for a day
    floor(as.numeric(julian(Sys.time())) + 2440587.5) # for a date-time

[Package base version 2.8.1 Index]