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"

谢谢你的帮助

最佳答案
这可能是一个时区问题.试试这个:

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

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

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

转载注明原文:R as.POSIXct(Sys.Date())提前一天返回日期 - 代码日志