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.

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"), …)


an object inheriting from class "POSIXt" or "Date".


logical vector (possibly recycled). Should the names be abbreviated?


an length-one object inheriting from class "POSIXt" or "Date".

arguments for other methods.


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.


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

DateTimeClasses, Date

  • weekdays
  • weekdays.POSIXt
  • weekdays.Date
  • months
  • months.POSIXt
  • months.Date
  • quarters
  • quarters.POSIXt
  • quarters.Date
  • julian
  • julian.POSIXt
  • julian.Date
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 # }
Documentation reproduced from package base, version 3.6.0, License: Part of R 3.6.0

Community examples

Looks like there are no examples yet.