Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Converting char to date time

Tags:

r

In a data.frame, I have a date time stamp in the form:

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"

Everytime I try to convert it with as.Date, lubridate, or zoo I get NAs or Errors.

What is the way to convert this time to a readable form?

I've tried:

 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)
like image 253
cconnell Avatar asked Oct 12 '12 17:10

cconnell


1 Answers

What you really want is strptime(). Try something like:

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

As an example of the interesting things you can do with strptime(), consider the following:

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"
like image 176
A5C1D2H2I1M1N2O1R2T1 Avatar answered Oct 21 '22 04:10

A5C1D2H2I1M1N2O1R2T1