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

use*_*599 6 time r 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"
Run Code Online (Sandbox Code Playgroud)

谢谢你的帮助

G. *_*eck 6

这可能是一个时区问题.试试这个:

as.POSIXct(format(Sys.Date()))
Run Code Online (Sandbox Code Playgroud)

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

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

  • 午夜前5小时 - 即GMT和EST之间的偏差. (2认同)