-1

我有以下包含日期/时间的字符向量。我想将它们转换为日期格式,我尝试了以下方法:as.Date()as.POSIXct()

time <- c("Oct 01,2015 15:38:31 ", "Oct 05,2015 11:07:14", "Oct 11,2015 14:15:51 ", "Oct 11,2015 14:19:53 ", "Oct 12,2015 11:23:28", "Oct 19,2015 16:32:51 ")

    #as.Date() is skipping the time part
time_1<-as.Date(time,"%b %d,%Y %H:%M:%S")
time_1
  [1] "2015-10-01" "2015-10-05" "2015-10-11" "2015-10-11" "2015-10-12" "2015-10-19"


#POSIXct is showing an error
time_2<-as.POSIXlt(time,"%b %d,%Y %H:%M:%S")

as.Date()函数正在跳过时间部分并POSIX引发错误(这很明显)。

如何将上述字符串转换为正确的日期+时间格式?

4

1 回答 1

2

我们可以format在两者as.POSIXlt中指定as.POSIXct

 as.POSIXlt(time,format="%b %d,%Y %H:%M:%S")
 #[1] "2015-10-01 15:38:31 IST" "2015-10-05 11:07:14 IST"
 #[3] "2015-10-11 14:15:51 IST" "2015-10-11 14:19:53 IST"
 #[5] "2015-10-12 11:23:28 IST" "2015-10-19 16:32:51 IST"

在不指定 的情况下format,该函数将 猜测为时"%b %d,%Y %H:%M:%S"区 ( tz)。第二个参数是tz按照默认公式?as.POSIXct

as.POSIXct(x, tz = "", ...)
于 2016-01-13T07:33:37.577 回答