Unix timestamps explicados: segundos, epoch y UTC
Por SyncBuilder
Si alguna vez abriste una respuesta de una API y encontraste una fecha que parece un monton de digitos al azar, ya conociste el Unix timestamp. Es una de las formas mas comunes en que las computadoras guardan un instante, y una vez que lo entiendes, esos numeros dejan de ser un misterio.
Que es un Unix timestamp?
Un Unix timestamp es simplemente la cantidad de segundos que han pasado desde el Unix epoch, es decir 1970-01-01 00:00:00 UTC. Como se mide en UTC, es independiente de la zona horaria, compacto y facil de comparar y ordenar. Justamente por eso las APIs y las bases de datos lo adoran. Una variante en milliseconds, usada por JavaScript y muchos otros sistemas, es el mismo valor multiplicado por 1000.
Que tener en cuenta al convertir
- Segundos vs milliseconds: un numero de 10 digitos suele ser segundos, mientras que uno de 13 digitos son milliseconds.
- UTC vs hora local: el valor guardado siempre es UTC, asi que decide si quieres mostrarlo en UTC o en la zona horaria local de quien lo ve.
- Ceros a la izquierda: no los elimines ni reformatees a ciegas, o cambiaras el valor que estas leyendo.
- Valores negativos: los timestamps anteriores a 1970 son perfectamente validos y se representan como numeros negativos.
Mezclar segundos y milliseconds es uno de los errores de integracion mas comunes. Si un valor esta desviado por un factor de 1000, casi siempre es una confusion de seconds/milliseconds. Y en sistemas de 32 bits, atento al problema del anio 2038, cuando el contador de segundos desborda un signed 32-bit integer.
Quieres comprobar un valor sin salir de tu escritorio? Nuestro Timestamp Converter gratuito convierte timestamps en fechas legibles y viceversa, tanto en segundos como en milliseconds, directamente en tu navegador.
Prueba la herramienta gratis