Here are three ways: xx <- as.Date("2006-01-05")
# 1. use as.POSIXlt as.POSIXlt(xx)$mday as.POSIXlt(xx)$mon + 1 as.POSIXlt(xx)$year + 1900 # 2. use format as.numeric(format(xx, "%d")) as.numeric(format(xx, "%m")) as.numeric(format(xx, "%Y")) # 3. use month.day.year in chron package library(chron) month.day.year(unclass(xx))$day month.day.year(unclass(xx))$month month.day.year(unclass(xx))$year Also see the help desk article in R News 4/1. On 8/10/06, Horace Tso <[EMAIL PROTECTED]> wrote: > Hi list, > > I'm trying to turn a date into something productive. (Not what you may be > thinking....) > > I want three functions so I could take a "date" object and get the day of > week, month, and year from it. > > xx <- as.Date("2006-01-05") > > month(xx) equal 1 > day(xx) equal 5 > year(xx) equal 2006 > > I'm aware of the weekdays() and months() functions in the base package. But > they return a character object which requires some coding to convert into a > numeric value. > > I've also tried the sday.of.week() in fCalendar but it doesn't like my date, > > > sday.of.week(xx) > Error in Ops.Date(sdates, 10000) : %/% not defined for Date objects > > Do these functions exist in some package I'm not aware of? > > Thanks in adv. > > Horace Tso ______________________________________________ R-help@stat.math.ethz.ch mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.