Crear horas y aplicarles formato

De forma similar a lo que sucedía en el trabajo con fechas, puedes utilizar as.POSIXct() para convertir una cadena de caracteres en un objeto POSIXct y format() para convertir un objeto POSIXct en una cadena de caracteres. De nuevo, tienes una gran variedad de símbolos:

  • %H: horas como número del sistema decimal (00-23)
  • %I: horas como número del sistema decimal (01-12)
  • %M: minutos como número del sistema decimal
  • %S: segundos como número del sistema decimal
  • %T: notación abreviada del formato típico %H:%M:%S
  • %p: indicador AM/PM

Para obtener una lista completa de los símbolos de conversión, consulta la documentación de strptime en la consola:

?strptime

De nuevo, as.POSIXct() utiliza un formato predeterminado para aplicar coincidencia a cadenas de caracteres. En este caso, es %Y-%m-%d %H:%M:%S. En este ejercicio se hace abstracción de las diferentes zonas horarias.

Este ejercicio forma parte del curso

R intermedio

Ver curso

Instrucciones de ejercicio

  • Convierte dos cadenas que representan marcas de tiempo, str1 y str2, en objetos POSIXct llamados time1 y time2.
  • Utilizando format(), crea una cadena a partir de time1 que contenga solo los minutos.
  • De time2, extrae las horas y los minutos como "hours:minutes AM/PM". Consulta el texto de la asignación anterior para buscar los símbolos de conversión correctos.

Ejercicio interactivo práctico

Pruebe este ejercicio completando este código de muestra.

# 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