Extracting time from character string with strptime() in R, returning NA
date, r, regex, strptime, time
Solution
R doesn't know that your string is a datetime. So make it one first:
y <- strptime(x, format='%m/%d/%Y %H:%M')
If you were trying to get just the date, you could do:
strptime(x, '%m/%d/%Y')
Because `strptime` discards any extra characters past your format string, but you cannot grab the trailing `%H:%M` because the function doesn't know where to start.
Once it is a proper datetime class, you can do things to it:
strftime(y, '%H:%M')
I prefer to use `as.POSIXlt` rather than `strptime` and `format` instead of `strftime`... but they are roughly equivalent.
Problem
I am trying to extract out the time from a character string in R and can't stop getting NA as a result. I have tried numerous variations of the regular expression tags, but can't seem to get around this simple problem. Any help/clarifications are appreciated. Here is my code for an example: ``` > x [1] "2/7/2013 7:43" > class(x) [1] "character" > z <- strptime(x, "%H:%M") > z [1] NA ```