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ígitosSuele significarEjemplo
10Segundos1700000000
13Milisegundos1700000000000

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 Linux date +%s
  • Milisegundos — JavaScript Date.now(), Java System.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

  1. Lee primero el esquema de la API o un payload de ejemplo
  2. Si una fecha parece equivocada por ~1000×, cambia de unidad mentalmente
  3. Almacena internamente en una convención (a menudo ms o µs en código de aplicación) y convierte en los límites
  4. En bases de datos, prefiere tipos TIMESTAMPTZ cuando 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.

Volver al resumen del curso