On Sat, Jan 29, 2011 at 7:45 PM, Simon Goodman <s.j.good...@leeds.ac.uk> wrote: > > How can I extract only the time component from an POSIXlt object? > > For example if I try the following it still returns both the date and > time... > >>as.POSIXlt(tr.date[1]) > [1] "2010-10-18 21:46:53" >>as.POSIXlt(tr.date[1],"%H:%M:%S") > [1] "2010-10-18 21:46:53" > > round and trunc don't help... is there an "as.Time" equivalent to as.Date > ? >
If you are looking for a class that represents time of day, the "times" class in the chron package can do that: > lt <- as.POSIXlt("2010-10-18 21:46:53") > library(chron) > tt1 <- times(format(lt, "%H:%M:%S")); tt1 [1] 21:46:53 or > tt2 <- unname(as.chron(lt) - dates(as.chron(lt))); tt2 [1] 21:46:53 Now tt1 and tt2 are "times" objects and can be manipulated: > tt1 + 1/24 # add an hour [1] 22:46:53 Although not specifically about times you might wish to read R News 4/1 which gives a bit of detail on chron and further references. -- Statistics & Software Consulting GKX Group, GKX Associates Inc. tel: 1-877-GKX-GROUP email: ggrothendieck at gmail.com ______________________________________________ R-help@r-project.org 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.