weekdays {base}  R Documentation 
Extract the weekday, month or quarter, or the Julian time (days since some origin). These are generic functions: the methods for the internal datetime classes are documented here.
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("19700101", tz = "GMT"), ...)
## S3 method for class 'Date'
julian(x, origin = as.Date("19700101"), ...)
x 
an object inheriting from class 
abbreviate 
logical vector (possibly recycled). Should the names be abbreviated? 
origin 
an lengthone object inheriting from class

... 
arguments for other methods. 
weekdays
and months
return a character
vector of names in the locale in use, i.e., Sys.getlocale("LC_TIME")
.
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 leapseconds.
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
.
DateTimeClasses
, Date
;
Sys.getlocale("LC_TIME")
crucially for months()
and weekdays()
.
## first two are locale dependent:
weekdays(.leap.seconds)
months (.leap.seconds)
quarters(.leap.seconds)
## Show how easily you get month, day, year, day (of {month, week, yr}), ... :
## (remember to count from 0 (!): mon = 0..11, wday = 0..6, etc !!)
##' Transform (Time)Date vector to convenient data frame :
dt2df < function(dt, dName = deparse(substitute(dt))) {
DF < as.data.frame(unclass(as.POSIXlt( dt )))
`names<`(cbind(dt, DF, deparse.level=0L), c(dName, names(DF)))
}
## e.g.,
dt2df(.leap.seconds) # date+time
dt2df(Sys.Date() + 0:9) # date
##' Even simpler: Date > Matrix  dropping time info {sec,min,hour, isdst}
d2mat < function(x) simplify2array(unclass(as.POSIXlt(x))[4:7])
## e.g.,
d2mat(seq(as.Date("20000202"), by=1, length.out=30)) # has R 1.0.0's release date
## 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 BCE.
## 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 datetime