Hier ist eine Möglichkeit, Zeit und Datum von der Zeichenfolge zu trennen.
Zur Erleichterung konnten wir zuerst die Zeichenfolge in ein POSIX-Objekt konvertieren:
datetime <- '8/29/2013 14:13'
datetime.P <- as.POSIXct(datetime, format='%m/%d/%Y %H:%M')
Dann können wir as.Date()
verwenden das Datum von diesem Objekt zu extrahieren und verwenden format()
es im gewünschten Format angezeigt werden:
format(as.Date(datetime.P),"%m/%d/%Y")
#[1] "08/29/2013"
die Zeit zu speichern separat wir verwenden können, beispielsweise die strftime()
Funktion:
strftime(datetime.P, '%H:%M')
#[1] "14:13"
Die letzte Funktion (strftime()
) ist nicht vektorisiert, was bedeutet, dass wenn ein Vektor datetime
mehrere Zeichenketten mit Datum und Uhrzeit im Format wie im OP beschrieben verarbeitet, sollte er in eine Schleife wie sapply()
gehüllt werden um die Zeit von jeder Zeichenfolge zu extrahieren.
Beispiel
datetime <- c('8/29/2013 14:13', '9/15/2014 12:03')
datetime.P <- as.POSIXct(datetime, format='%m/%d/%Y %H:%M')
format(as.Date(datetime.P),"%m/%d/%Y")
#[1] "08/29/2013" "09/15/2014"
sapply(datetime.P, strftime, '%H:%M')
#[1] "14:13" "12:03"
Hoffnung, das hilft.