2011-12-15 48 views
4

我错过了什么?R as.POSIXct(Sys.Date())返回提前一天的日期

Sys.Date() 
[1] "2011-12-15" 

as.POSIXct(Sys.Date()) 
[1] "2011-12-14 19:00:00 EST" # Returning the day before !! 

as.POSIXct(Sys.Date(), origin="1970-01-01 00:00:00") 
[1] "2011-12-14 19:00:00 EST" # Still returning day before !! 

Sys.getlocale() 
[1] "LC_COLLATE=English_United States.1252;LC_CTYPE=English_United States.1252; 
LC_MONETARY=English_United States.1252;LC_NUMERIC=C; 
LC_TIME=English_United States.1252" 

感谢您的帮助

回答

4

它可能是一个时区的问题。试试这个:

as.POSIXct(format(Sys.Date())) 

请注意,Sys.time()也存在。

有关详细信息,请参阅R News 4/1中的R帮助台文章。

+0

这解决了它......但为什么?谢谢。 – user369599 2011-12-15 22:56:38