Definición breve
Un timestamp Unix es un recuento con signo del tiempo transcurrido desde 1970-01-01T00:00:00Z. La definición clásica usa segundos, pero las APIs modernas también emplean milisegundos, microsegundos y nanosegundos. Un número sin unidad está incompleto.
El timestamp 0 es el epoch Unix. El timestamp -1 segundo es 1969-12-31T23:59:59Z. Los valores negativos son válidos cuando el entorno y el tipo de almacenamiento los admiten.
UTC y zonas horarias
El timestamp identifica un instante en la línea temporal UTC. No guarda ciudad, país, regla de horario de verano ni formato preferido. Formatear el mismo valor en Madrid y Tokio produce horas distintas sin cambiar el instante.
Segundos intercalares
El tiempo Unix suele tratar cada día como 86.400 segundos y no representa un segundo intercalar como un número separado. Esta convención es la esperada en aplicaciones web y bases de datos comunes; los sistemas científicos pueden utilizar otras escalas.
Ejemplo reproducible
1700000000 segundos corresponde a 2023-11-14T22:13:20.000Z. Multiplicar por 1.000 produce 1700000000000 milisegundos sin modificar el instante.
Leer un valor de una API o un registro
Un campo llamado created_at puede contener una fecha ISO, segundos Unix o milisegundos. El nombre no basta para determinar el formato. Consulta la documentación, introduce el valor en el conversor de timestamp a fecha y selecciona la unidad indicada. Comprueba la fecha UTC antes de utilizar el resultado.
| Segundos | Fecha UTC | Significado |
|---|---|---|
-1 | 1969-12-31 23:59:59 | Un segundo antes del origen |
0 | 1970-01-01 00:00:00 | Inicio de la época Unix |
1700000000 | 2023-11-14 22:13:20 | Una marca de tiempo actual |
2147483647 | 2038-01-19 03:14:07 | Límite de segundos de un entero de 32 bits con signo |
Un instante y varias horas locales
Para 1700000000, UTC marca el 14 de noviembre a las 22:13:20. Shanghái marca el 15 a las 06:13:20 y Nueva York el 14 a las 17:13:20. El número no cambia: cambia la representación del calendario. Verifícalo en la herramienta de zonas horarias.
Los timestamps habituales de estilo POSIX no cuentan los segundos intercalares como segundos ordinarios adicionales. Tampoco son un cronómetro: el reloj del dispositivo puede corregirse. Para medir una operación breve en JavaScript, utiliza un reloj monotónico como performance.now().
Documentar la unidad
Guarda la unidad junto al valor o indícala en el contrato de la API. Si la fecha resulta extraña, consulta segundos y milisegundos. Para interpretar una hora de calendario, utiliza fecha a timestamp y especifica la zona de origen.