Lección 2
Segundos vs milisegundos
Valores de diez y trece dígitos y cómo evitar errores por factor 1000.
Unix time está definido en segundos, pero muchos entornos de ejecución exponen milisegundos para mayor precisión. Mezclar ambos es uno de los errores de timestamp más frecuentes.
La heurística del número de dígitos
Regla práctica aproximada en forma decimal:
| Dígitos | Suele significar | Ejemplo |
|---|---|---|
| 10 | Segundos | 1700000000 |
| 13 | Milisegundos | 1700000000000 |
Los valores con otras longitudes necesitan contexto — confírmalo siempre contra la documentación de la API.
Por qué existen ambos
- Segundos — compactos, suficientes para muchos logs y expiración JWT; usados por
time.time()en Python, muchas APIs en C y Linuxdate +%s - Milisegundos — JavaScript
Date.now(), JavaSystem.currentTimeMillis(), algunas APIs JSON para ordenación sub-segundo
Convertir entre ellos es multiplicar o dividir por 1000 — cuando eliges la dirección equivocada, las fechas saltan a 1970 o al futuro lejano.
Segundos fraccionarios
Algunos sistemas devuelven segundos en punto flotante (1700000000.123). Eso sigue siendo «segundos + fracción», no milisegundos. Parsearlo como campo entero de milisegundos pierde precisión o falla la validación.
Hábitos defensivos
- Lee primero el esquema de la API o un payload de ejemplo
- Si una fecha parece equivocada por ~1000×, cambia de unidad mentalmente
- Almacena internamente en una convención (a menudo ms o µs en código de aplicación) y convierte en los límites
- En bases de datos, prefiere tipos
TIMESTAMPTZcuando estén disponibles en lugar de enteros desnudos
Conclusión clave
Segundos y milisegundos nombran la misma línea temporal con escalas distintas. Conoce qué escala usa tu fuente antes de convertir o comparar. Usa el Conversor de timestamp UTC para comprobar conversiones rápidamente.