Aki*_*Aki 6 posix r posixct as.date
如何从代码的第一列中获取正确的日期?
test <- data.frame(posixdate = c("2013-05-01 00:59:00", "2013-05-01 01:59:00", "2013-05-01 02:59:00", "2013-05-01 03:59:00"))
test$posixdate <- as.POSIXct(test$posixdate, format="%Y-%m-%d %H:%M:%S" )
test$date <- as.Date(test$posixdate)
Run Code Online (Sandbox Code Playgroud)
上面的代码导致:
posixdate date
1 2013-05-01 00:59:00 2013-04-30
2 2013-05-01 01:59:00 2013-04-30
3 2013-05-01 02:59:00 2013-05-01
4 2013-05-01 03:59:00 2013-05-01
Run Code Online (Sandbox Code Playgroud)
前两个日期不正确。我做错了什么?
如果as.Date()不是正确的功能,我怎样才能获得日期(没有小时、分钟、秒)?
用包试试lubridate。这个对我有用。
library(lubridate)
as.Date(ymd_hms(test$posixdate))
[1] "2013-05-01" "2013-05-01" "2013-05-01" "2013-05-01"
Run Code Online (Sandbox Code Playgroud)