Una marca de tiempo UNIX se refiere a la cantidad de segundos que han transcurrido desde la época. El objeto de marca de tiempo no es intuitivo y debe convertirse a otros formatos que sean fáciles de usar. Los objetos de fecha en el lenguaje de programación R se pueden usar para mostrar la marca de tiempo especificada de una manera nítida. Los objetos de fecha se almacenan como el número de días desde el 1 de enero de 1970, donde se usan números negativos para fechas anteriores. Aquí veremos cómo convertir la marca de tiempo UNIX en un objeto de fecha en la programación R.
Método 1: Uso de un paquete de lubricación
El paquete lubridate en R es responsable de facilitar el trabajo con fechas y horas. Hay funciones de análisis especiales para manipular y modificar las marcas de tiempo en los diferentes formatos y zonas horarias disponibles. El paquete debe instalarse en la biblioteca R usando la siguiente sintaxis:
install.packages("lubridate")
el método as_datetime() en este paquete se usa para convertir una marca de tiempo UNIX en un objeto de fecha. Este método utilizó la zona horaria UTC de forma predeterminada.
Sintaxis: as_datetime(marca de tiempo, tz)
Argumentos: tz – La zona horaria correspondiente
Código:
R
library ( "lubridate" ) timestamp <- 2012368256 datetime <- as_datetime (timestamp) print ( "DateTime Notation" ) print (datetime) |
Producción:
[1] "DateTime Notation" [1] "2033-10-08 07:10:56 UTC"
Método 2: Usar el método as.POSIXct
Una marca de tiempo se puede convertir primero en un objeto POSIXct y luego se pueden realizar las conversiones. Los objetos POSIXct facilitan el proceso de las operaciones matemáticas, ya que se basan en segundos como la unidad principal de gestión del tiempo. Las fechas se convierten a la zona horaria estándar, UTC. Un objeto de marca de tiempo se puede convertir en un objeto POSIXct mediante el método mar.POSIXct(fecha) en R.
as.POSIXct(timestamp, origin = "1970-01-01")
A continuación, se invoca el método as.Date en el objeto POSIXct. La fecha del objeto se almacena como el número de días calculado desde el 1 de enero de 1970, cuando se utilizan números negativos para hacer referencia a fechas anteriores. Los objetos de fecha admiten aritmética básica directamente, donde los números enteros se suman o restan directamente de las fechas. El objeto Fecha también puede especificar diferentes formatos para contener las fechas. El método as.Date() toma un objeto de fecha POSIXct como entrada y lo convierte en un objeto de fecha.
as.Date(character date object)
La diferencia con este método es que solo muestra el objeto de fecha, mientras que el método anterior lo convierte en un objeto DateTime completo.
Código:
R
# declaring the timestamp timestamp <- 2012368256 # converting to POSIXct notation posixt <- as.POSIXct (timestamp, origin = "1970-01-01" ) # converting to readable date # time object datetime <- as.Date (posixt) print ( "DateTime Notation" ) print (datetime) |
Producción:
[1] "DateTime Notation" [1] "2033-10-08"