Kom igångKom igång gratis

Skapa och formatera tider

Precis som när du arbetar med datum kan du använda as.POSIXct() för att konvertera en teckensträng till ett POSIXct-objekt, och format() för att konvertera ett POSIXct-objekt till en teckensträng. Även här finns ett brett utbud av symboler:

  • %H: timmar som ett decimaltal (00–23)
  • %I: timmar som ett decimaltal (01–12)
  • %M: minuter som ett decimaltal
  • %S: sekunder som ett decimaltal
  • %T: förkortad notation för standardformatet %H:%M:%S
  • %p: AM/PM-indikator

För en fullständig lista över konverteringssymboler, se dokumentationen för strptime i konsolen:

?strptime

Precis som tidigare använder as.POSIXct() ett standardformat för att tolka teckensträngar. I det här fallet är det %Y-%m-%d %H:%M:%S. I den här övningen bortser vi från olika tidszoner.

Den här övningen är en del av kursen

R för medelnivå

Visa kurs

Övningsinstruktioner

  • Konvertera de två strängarna str1 och str2, som representerar tidsstämplar, till POSIXct-objekt med namnen time1 och time2.
  • Använd format() för att skapa en sträng från time1 som endast innehåller minuterna.
  • Extrahera timmar och minuter från time2 i formatet "timmar:minuter AM/PM". Se uppgiftstexten ovan för rätt konverteringssymboler!

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

# 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
Redigera och kör kod