weekdays
Extract Parts of a POSIXt or Date Object
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.
- Keywords
- chron
Usage
weekdays(x, abbreviate)
# S3 method for POSIXt
weekdays(x, abbreviate = FALSE)
# S3 method for Date
weekdays(x, abbreviate = FALSE)months(x, abbreviate)
# S3 method for POSIXt
months(x, abbreviate = FALSE)
# S3 method for Date
months(x, abbreviate = FALSE)
quarters(x, abbreviate)
# S3 method for POSIXt
quarters(x, …)
# S3 method for Date
quarters(x, …)
julian(x, …)
# S3 method for POSIXt
julian(x, origin = as.POSIXct("1970-01-01", tz = "GMT"), …)
# S3 method for Date
julian(x, origin = as.Date("1970-01-01"), …)
Arguments
- x
an object inheriting from class
"POSIXt"
or"Date"
.- abbreviate
logical vector (possibly recycled). 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.
All time calculations in R are done ignoring leap-seconds.
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. Alternatively (especially if the components
are desired as character strings), use strftime
.
See Also
Examples
library(base)
# NOT RUN {
weekdays(.leap.seconds)
months(.leap.seconds)
quarters(.leap.seconds)
## Julian Day Number (JDN, https://en.wikipedia.org/wiki/Julian_day)
## is the number of days since noon UTC on the first day of 4317 BC.
## in the proleptic Julian calendar. To more recently, in
## 'Terrestrial Time' which differs from UTC by a few seconds
## See https://en.wikipedia.org/wiki/Terrestrial_Time
julian(Sys.Date(), -2440588) # from a day
floor(as.numeric(julian(Sys.time())) + 2440587.5) # from a date-time
# }