Initializing, please wait a moment

Este Numero Largo es un Timestamp? Milisegundos vs Segundos

Ultima revision 2026-05-03. Pegaste un numero de 10, 13, 16 o 19 digitos de un log de servidor, una respuesta de API o una fila de base de datos, y ahora necesitas saber que es. Esta guia es el test de 30 segundos - cuenta los digitos, haz un sanity-check del ano, dirige al conversor correcto.

Respuesta en 30 segundos. Cuenta los digitos en el numero. 10 digitos → Unix segundos (pega en el conversor de milisegundos a fecha tras multiplicar por 1000, o usa cualquier herramienta de segundos a fecha). 13 digitos → Unix milisegundos (pega directo en el conversor de milisegundos a fecha). 16 digitos → microsegundos (raro; normalmente telemetria). 19 digitos → nanosegundos (raro; normalmente tracing de alta precision). Cualquier otro conteo y el numero probablemente es un ID, no un timestamp.

El test de 30 segundos: cuenta los digitos

Los formatos dominantes de timestamp Unix codifican el tiempo como un conteo de "ticks desde 1970-01-01 00:00:00 UTC". El tamano del tick difiere - segundos, milisegundos, microsegundos, nanosegundos - y eso cambia cuantos digitos tiene el numero en cualquier momento dado en 2026. Hoy (2026), aqui esta la regla practica de conteo de digitos:

DigitosSignificado mas probableDonde lo ves normalmenteConvertir con
10Unix segundosUnix date +%s, PHP time(), Python time.time() truncado, Go time.Now().Unix(), la mayoria de formatos de log de servidor.Multiplica por 1000 y pega en el conversor de milisegundos, o usa una herramienta dedicada de segundos a fecha.
13Unix milisegundosJavaScript Date.now(), Java System.currentTimeMillis(), la mayoria de APIs JSON, escrituras Firebase / Firestore, IDs de mensajes Slack / Discord codificados como ms.Pega directo en el conversor de milisegundos a fecha.
16Unix microsegundosPostgreSQL now(), Python time.time_ns() // 1000, traces OpenTelemetry, BigQuery CURRENT_TIMESTAMP().Divide por 1000 y trata el resultado como milisegundos.
19Unix nanosegundosGo time.Now().UnixNano(), traces Prometheus, offsets Kafka, timestamps de evento eBPF.Divide por 1.000.000 y trata el resultado como milisegundos.
11, 12, 14, 15, 17, 18Probablemente no es un timestampID de secuencia, prefijo de ID Snowflake, numero de cuenta, variante de numero de telefono, numero de ruteo de cuenta.Ver "Cuando el numero no es un timestamp" abajo.

Por que la mayoria de los numeros que ves en la web son milisegundos

Date.now() de JavaScript, System.currentTimeMillis() de Java, y la mayoria de los backends modernos que emiten JSON tienen por defecto milisegundos desde el epoch Unix. Ese momento - 2026-05-03 09:38:00 UTC - es 1777800999 en segundos (10 digitos) pero 1777800999000 en milisegundos (13 digitos). La forma de 13 digitos termina en respuestas de red, consolas de dev-tool del navegador, lineas de log y dashboards mas que cualquier otra forma de timestamp, que es por que la pregunta de lector mas comun para este tipo de timestamp es "este es un numero de 13 digitos, que fecha es?"

Esa observacion da un sanity check rapido: si tu numero tiene 13 digitos y comienza con 1777, casi seguro es un milisegundo Unix de mayo de 2026. Si comienza con 16 o 17 en 2026, esta en el rango correcto. Si comienza con 1 seguido por cualquier cosa (por ejemplo 1234567890123), aun deberias convertirlo a una fecha y verificar el ano antes de asumir - los datos de prueba bogus a menudo eligen numeros de vanidad como 1234567890 que renderiza como 2009 (viernes 13 de febrero).

Cuando el numero NO es un timestamp

Varios numeros largos parecen timestamps pero no lo son:

  • IDs Snowflake / Twitter / Discord (normalmente 18-19 digitos). Codifican un timestamp en sus bits altos pero los bits bajos son IDs de worker y contadores de secuencia; tratar el numero entero de 19 digitos como un nanosegundo Unix producira una fecha muy equivocada. Decodificar Snowflake requiere un bit-shift, no una division.
  • UUIDv7 (32 digitos hex, pero los primeros 12 caracteres hex codifican milisegundos). Si tienes 32 caracteres hex formateados con guiones, eso es un UUID, no un timestamp - convierte solo los primeros 48 bits si necesitas el tiempo embebido.
  • IDs de secuencia BIGINT de base de datos. Estos son enteros auto-incrementados y no tienen componente de tiempo; resulta que crecen al rango de 12-13 digitos a medida que la secuencia avanza. Verificacion rapida: si la misma columna en filas adyacentes difiere por 1 (o por un paso predecible pequeno), es una secuencia, no un timestamp.
  • Numeros de telefono almacenados como enteros. Un numero de 10-12 digitos que comienza con un prefijo de codigo de pais (por ejemplo 1212 para Nueva York) puede ser un numero de telefono renderizado sin separadores. Convierte y verifica: si el ano resultante es antes de 1970 o despues de 2100, no es un timestamp Unix.
  • Numeros de cuenta / pedido. Numeros de estilo padding como 1000000123 (10 digitos pero no un valor de segundo Unix) normalmente tienen un prefijo de ancho fijo que los delata - no crecen de forma constante con el tiempo.

La desambiguacion mas barata es pegar el numero en el conversor de milisegundos y mirar el ano. Si el resultado es en 1970 (numero era en realidad segundos, lo trataste como ms) o en algun ano futuro lejano como 56.000 (numero era milisegundos, lo trataste como segundos), el conteo de digitos te dira en que direccion convertir. Si el resultado es plausible (2025-2027 para datos en vivo, 1990-2025 para datos historicos), tienes tu respuesta.

Playbook rapido de conversion

Tres pasos, sin matematicas:

  1. Cuenta los digitos. 10 digitos = segundos; 13 = milisegundos; 16 = microsegundos; 19 = nanosegundos; de lo contrario ver la seccion anterior.
  2. Pega en el conversor correcto. Numeros de 13 digitos van directo a el conversor de milisegundos a fecha. Segundos de 10 digitos: anade tres ceros (asi 1777800999 se convierte en 1777800999000) y pega. Microsegundos de 16 digitos: quita los ultimos tres digitos. Nanosegundos de 19 digitos: quita los ultimos seis digitos. El conversor muestra la fecha UTC resultante y tu fecha local.
  3. Sanity check del ano. Si el ano es inesperado (1970 o 56000), convertiste en la direccion equivocada. Vuelve a leer el conteo de digitos e intenta de nuevo. Si el ano es plausible, tienes el valor correcto.

Para el problema inverso - "dame los milisegundos Unix actuales para que pueda comparar" - abre la herramienta de milisegundos Unix actuales; va en vivo y copia al portapapeles. Comparar dos timestamps es la forma mas rapida de confirmar si tu numero es "ahora-ish" o datos viejos.

Preguntas frecuentes

Y los numeros de 11 o 12 digitos? Parecen casi segundos.
Los segundos Unix no produciran 11 digitos hasta el ano 2286. Los milisegundos Unix tenian 12 digitos entre 2001 (10^12 ms = 31,7 anos despues de 1970) y 2286. Asi que un numero de 12 digitos de la era actual es muy probablemente un ID de secuencia o un numero de telefono; un numero de 11 digitos casi seguro no es un valor Unix actual de ningun tipo.

El numero es negativo o comienza con signo menos. Es un timestamp?

Si - los timestamps Unix negativos son fechas antes de 1970-01-01 UTC. -1000000000 segundos es 1938-04-24. La mayoria de las bibliotecas estandar de lenguajes manejan segundos negativos correctamente; algunas herramientas web los rechazan. El conversor de milisegundos aceptara entradas negativas.

Por que la misma fecha da un numero diferente en dos sistemas?

El numero en si es sin zona horaria (el tiempo Unix es siempre UTC). Lo que difiere es como cada sistema renderiza el numero en una cadena legible - una herramienta puede elegir UTC, otra tu zona horaria local. El entero Unix subyacente es el mismo. Si dos sistemas discrepan en el numero para el mismo momento, uno de ellos usa una unidad diferente (segundos vs milisegundos) o un epoch diferente (por ejemplo Excel usa 1900-01-01 como su epoch, que no es tiempo Unix).

Puedo obtener segundos fraccionarios de un valor Unix de 10 digitos?

No - un valor de segundos de 10 digitos tiene resolucion de 1 segundo. Los segundos fraccionarios (precision de milisegundos / microsegundos) requieren los formatos mas largos. Si tus datos necesitan precision sub-segundo, debes estar almacenando milisegundos (13 digitos), microsegundos (16) o nanosegundos (19). Almacenar solo los segundos enteros tira la precision.

JavaScript new Date().valueOf() es lo mismo que Date.now()?
Si. Ambos devuelven milisegundos Unix. Date.now() es la forma moderna, preferida; new Date().valueOf() es mas antiguo, mas lento (asigna un objeto Date) pero produce el mismo numero.

Relacionado

Why trust these tools

  • Ten-plus years of web tooling. The freetoolonline editorial team has shipped browser-based utilities since 2015. The goal has never changed: get you to a working output fast, without an install.
  • Truly in-browser - no upload. Every file-processing tool on this site runs in your browser through modern Web APIs (File, FileReader, Canvas, Web Audio, WebGL, Web Workers). Your photo, PDF, audio, or text never leaves your device.
  • No tracking during tool use. Analytics ends at the page view. The actual input you paste, drop, or capture is never sent to any server and never written to any log.
  • Open-source core components. The processing engines underneath (libheif, libde265, pdf-lib, terser, clean-css, ffmpeg.wasm, and others) are public and audit-able. We link to each one in its tool page's footer.
  • Free, with or without ads. All tools are fully functional without sign-up. The Disable Ads button in the header is always available if you need a distraction-free run.