R 2.6.1 on a Thinkpad T60 running up-to-date Gentoo: Despite the documentation, which says:
'strftime' is an alias for 'format.POSIXlt', and 'format.POSIXct' first converts to class '"POSIXlt"' by calling 'as.POSIXlt'. Note that only that conversion depends on the time zone. strftime fails on POSIXct objects: > foo <- as.POSIXct(strptime(x='2007-09-22', format='%Y-%m-%d')) > strftime(x=foo, format='%Y-%m-%d') Error in strftime(x = foo, format = "%Y-%m-%d") : wrong class It's pretty clear why, given the first two lines of the function: > strftime function (x, format = "", usetz = FALSE, ...) { if (!inherits(x, "POSIXlt")) stop("wrong class") if (format == "") { times <- unlist(unclass(x)[1:3]) secs <- x$sec secs <- secs[!is.na(secs)] np <- getOption("digits.secs") if (is.null(np)) np <- 0 else np <- min(6, np) if (np >= 1) { for (i in (1:np) - 1) if (all(abs(secs - round(secs, i)) < 1e-06)) { np <- i break } } format <- if (all(times[!is.na(times)] == 0)) "%Y-%m-%d" else if (np == 0) "%Y-%m-%d %H:%M:%S" else paste("%Y-%m-%d %H:%M:%OS", np, sep = "") } .Internal(format.POSIXlt(x, format, usetz)) } <environment: namespace:base> > /Don Allen ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel