Henrique, thanks for your suggestion. For my applications, character would have been sufficient, so your suggestion of using format() works fine too.
Perhaps I should submit a feature request for as.Date() to let you specify local time. Thanks, Andrew On Mon, Sep 13, 2010 at 2:06 PM, Henrique Dallazuanna <www...@gmail.com>wrote: > Try this: > > format(dt, '%Y-%m-%d'), if you want Date class: > > as.Date(format(dt, '%Y-%m-%d')) > > > > > On Mon, Sep 13, 2010 at 2:24 PM, Andrew Yee <y...@post.harvard.edu> wrote: > >> Thanks David, now I wonder how you can have as.Date() render the date >> using >> local time rather than UTC. >> >> Andrew >> >> On Mon, Sep 13, 2010 at 12:08 PM, David Winsemius <dwinsem...@comcast.net >> >wrote: >> >> > >> > On Sep 13, 2010, at 11:56 AM, Andrew Yee wrote: >> > >> > I'm trying to understand why as.Date() is converting a the modified >> date >> >> of >> >> a file from August 22 to August 23. >> >> >> >> foo <- file.info(file.to.process) >> >>> str(foo) >> >>> >> >> 'data.frame': 1 obs. of 10 variables: >> >> $ size : num 5.37e+09 >> >> $ isdir : logi FALSE >> >> $ mode :Class 'octmode' int 436 >> >> $ mtime : POSIXct, format: "2010-08-22 23:14:52" >> >> $ ctime : POSIXct, format: "2010-09-13 11:34:31" >> >> $ atime : POSIXct, format: "2010-09-09 15:42:00" >> >> $ uid : int 503 >> >> $ gid : int 503 >> >> $ uname : chr "ayee" >> >> $ grname: chr "ayee" >> >> >> >> as.Date(foo$mtime) >> >>> >> >> [1] "2010-08-23" >> >> >> >> In this case as.Date(foo$mtime) gives August 23. I would have expected >> >> August 22. >> >> >> > >> > You are pretty close to midnight. Probably a TZ issue. Check your locale >> > settings versus UTC/GMT. >> > >> > > dt <- as.POSIXct("2010-08-22 23:14:52") >> > > as.Date(dt) >> > [1] "2010-08-23" >> > >> > Happens to me too, but when its 23:14 here, (US-EDT) it's the next day >> in >> > Greenwich. The help page says: >> > "The last [POSIXct] is converted to days by ignoring the time after >> > midnight in the representation of the time in UTC." That is not entirely >> > clear to my reading, but I am forced to conclude that it means as.Date >> > returns the Date in UTC terms rather than in local terms. >> > >> > -- >> > David. >> > >> > >> >> Thanks, >> >> Andrew >> >> >> >> sessionInfo() >> >>> >> >> R version 2.11.1 Patched (2010-09-11 r52901) >> >> Platform: x86_64-unknown-linux-gnu (64-bit) >> >> >> >> locale: >> >> [1] LC_CTYPE=en_US.UTF-8 LC_NUMERIC=C >> >> [3] LC_TIME=en_US.UTF-8 LC_COLLATE=en_US.UTF-8 >> >> [5] LC_MONETARY=C LC_MESSAGES=en_US.UTF-8 >> >> [7] LC_PAPER=en_US.UTF-8 LC_NAME=C >> >> [9] LC_ADDRESS=C LC_TELEPHONE=C >> >> [11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C >> >> >> >> attached base packages: >> >> [1] stats graphics grDevices utils datasets methods base >> >> >> >> [[alternative HTML version deleted]] >> >> >> >> ______________________________________________ >> >> 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. >> >> >> > >> > David Winsemius, MD >> > West Hartford, CT >> > >> > >> >> [[alternative HTML version deleted]] >> >> ______________________________________________ >> 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. >> > > > > -- > Henrique Dallazuanna > Curitiba-Paraná-Brasil > 25° 25' 40" S 49° 16' 22" O > [[alternative HTML version deleted]]
______________________________________________ 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.