R as.POSIXct(Sys.Date())提前一天返回日期

时间:2011-12-15 22:06:04

标签: r time posixct

我错过了什么?

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"

感谢您的帮助

1 个答案:

答案 0 :(得分:6)

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

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

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

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