2016-05-26 12 views
0

Ich bekomme NA-Wert für meine Datumszeichenkette mit strptime in R. Ich schaute auf die verschiedenen Antworten, aber es hat nicht funktioniert. Hier ist mein Codestrptime returning NA

startDate=strptime("Wed May 25 01:51:32 UTC 2016", format="%a %B %d %H:%m:%S %Z %Y", tz="UTC") 
print(startDate) 

Jede Hilfe würde geschätzt.

+0

Für die Abstimmung als "einfacher Tippfehler" zu schließen, beachten Sie, dass es nach wie vor, wenn Sie '% H ändert sich nicht:% m:% S' auf'% H:% M:% S 'weil'% Z' einen Fehler bei der Eingabe verursacht. –

Antwort

5

"%H:%m:%S" sollte "%H:%M:%S" sein. Sobald Sie dies ändern, erhalten Sie einen Fehler, da %Z nicht für die Eingabe gültig ist.

Wenn alle Datetime Strings UTC-Zeitzone haben, wird diese Arbeit:

R> strptime("Wed May 25 01:51:32 UTC 2016", "%a %B %d %H:%M:%S UTC %Y", "UTC") 
[1] "2016-05-25 01:51:32 UTC" 

Wenn nicht, dann können Sie das Jahr extrahieren und auf den String voranstellen, weil strptime denen alle Zeichen, nachdem sie von bestimmten ignoriert die Formatzeichenfolge.

R> dts <- "Wed May 25 01:51:32 UTC 2016" 
R> dtf <- "%Y %a %B %d %H:%M:%S" 
R> strptime(paste(substring(dts, nchar(dts)-3), dts), dtf, "UTC") 
[1] "2016-05-25 01:51:32 UTC"