Saltar al contenido

Hora actual en formato ISO 8601

La guía o código que hallarás en este post es la resolución más fácil y válida que encontramos a tu duda o problema.

Solución:

as.POSIXlt (y as.POSIXct) son para entrada. Utilizar cualquiera format o strftime para la salida. Consulte ?strftime para obtener detalles sobre las cadenas de formato:

 tm <- as.POSIXlt(Sys.time(), "UTC")
 strftime(tm , "%Y-%m-%dT%H:%M:%S%z")
#[1] "2015-04-08T15:11:22+0000"

El tercer parámetro de as.POSIXlt, formatse utiliza cuando el primer parámetro es un string-como valor que necesita ser analizado. Dado que estamos pasando un valor de fecha de Sys.timela format se ignora

No creo que los dos puntos en la salida de la zona horaria sean un requisito del formato ISO 8601, pero podría estar equivocado en ese punto. La página de ayuda dice que el estándar es POSIX 1003.1. Es posible que deba colocar los dos puntos con una sustitución de expresiones regulares si es necesario.

Después de mirar http://dotat.at/tmp/ISO_8601-2004_E.pdf, veo que no hay dos puntos en la representación de la zona horaria del formato "básico", pero hay uno en el "formato extendido".

El paquete parsedate reconoce y analiza fechas en varios formatos, incluidos todos los formatos ISO 8601:

format_iso_8601(Sys.time())
# [1] "2017-09-01T10:59:22+00:00"

Aquí puedes ver las comentarios y valoraciones de los lectores

Recuerda dar visibilidad a este post si si solucionó tu problema.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)


Tags : / /

Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *