Zeitangaben erstellen und formatieren

Ähnlich wie bei der Arbeit mit Datumsangaben kannst du mit as.POSIXct() eine Zeichenkette in ein POSIXct-Objekt umwandeln und umgekehrt mit format() ein POSIXct-Objekt in eine Zeichenkette konvertieren. Auch hier hast du eine Auswahl an Symbolen:

  • %H: Stunden als Dezimalzahl (00–23)
  • %I: Stunden als Dezimalzahl (01–12)
  • %M: Minuten als Dezimalzahl
  • %S: Sekunden als Dezimalzahl
  • %T: Kurzschreibweise für das typische Format %H:%M:%S
  • %p: Angabe von AM/PM (vormittags/nachmittags)

Eine vollständige Liste der Symbole erhältst du über die Konsole durch Aufruf der strptime-Dokumentation:

?strptime

Auch as.POSIXct() nutzt ein Standardformat, um Zeichenketten abzugleichen. In diesem Fall ist es %Y-%m-%d %H:%M:%S. In dieser Übung werden verschiedene Zeitzonen abstrahiert.

Diese Übung ist Teil des Kurses

R für Fortgeschrittene

Kurs anzeigen

Anleitung zur Übung

  • Konvertiere die zwei Zeichenketten str1 und str2, die Zeitstempel darstellen, in zwei POSIXct-Objekte namens time1 und time2.
  • Erstelle mithilfe von format() aus time1 eine Zeichenkette, die nur die Minuten enthält.
  • Extrahiere aus time2 die Stunden und Minuten im Format „Stunden:Minuten AM/PM“. Sieh dir die Übersicht oben an, um die richtigen Symbole für die Umwandlung zu bestimmen!

Interaktive Übung zum Anfassen

Probieren Sie diese Übung aus, indem Sie diesen Beispielcode ausführen.

# Definition of character strings representing times
str1 <- "May 23, '96 hours:23 minutes:01 seconds:45"
str2 <- "2012-3-12 14:23:08"

# Convert the strings to POSIXct objects: time1, time2
time1 <- as.POSIXct(str1, format = "%B %d, '%y hours:%H minutes:%M seconds:%S")


# Convert times to formatted strings