2012-10-12 157 views
5

En un hoja.de.datos, tengo un sello de fecha y hora en la forma:conversión de char a fecha y hora

head(x$time) 
[1] "Thu Oct 11 22:18:02 2012" "Thu Oct 11 22:50:15 2012" "Thu Oct 11 22:54:17 2012" 
[4] "Thu Oct 11 22:43:13 2012" "Thu Oct 11 22:41:18 2012" "Thu Oct 11 22:15:19 2012" 

Cada vez que intento convertirlo con as.Date, lubridate o zoológico consigo NA o errores.

¿Cuál es la forma de convertir este tiempo a una forma legible?

que he probado:

Time<-strptime(x$time,format="&m/%d/%Y %H:$M") 
    x$minute<-parse_date_time(x$time) 
    x$minute<-mdy(x$time) 
    x$minute<-as.Date(x$time,"%m/%d/%Y %H:%M:%S") 
    x$minute<-as.time(x$time) 
    x$minute<-as.POSIXct(x$time,format="%H:%M") 
    x$minute<-minute(x$time) 
+4

¿Puede compartir algunos de los pasos que ha intentado? Además, tenga en cuenta que 'as.date' no es lo mismo que' as.Date'. – A5C1D2H2I1M1N2O1R2T1

+4

¿Qué has probado? eche un vistazo a 'strptime' para que el argumento' format' proporcione 'as.Date' y los demás. – Justin

Respuesta

17

Lo que realmente quiere es strptime(). Pruebe algo como:

strptime(x$time, "%a %b %d %H:%M:%S %Y") 

Como un ejemplo de las cosas interesantes que se pueden hacer con strptime(), considere lo siguiente:

thedate <- "I came to your house at 11:45 on January 21, 2012." 
strptime(thedate, "I came to your house at %H:%M on %B %d, %Y.") 
# [1] "2012-01-21 11:45:00" 
Cuestiones relacionadas