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.
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:
| Digitos | Significado mas probable | Donde lo ves normalmente | Convertir con |
|---|---|---|---|
| 10 | Unix segundos | Unix 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. |
| 13 | Unix milisegundos | JavaScript 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. |
| 16 | Unix microsegundos | PostgreSQL now(), Python time.time_ns() // 1000, traces OpenTelemetry, BigQuery CURRENT_TIMESTAMP(). | Divide por 1000 y trata el resultado como milisegundos. |
| 19 | Unix nanosegundos | Go 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, 18 | Probablemente no es un timestamp | ID 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
1212para 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:
- Cuenta los digitos. 10 digitos = segundos; 13 = milisegundos; 16 = microsegundos; 19 = nanosegundos; de lo contrario ver la seccion anterior.
- 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
1777800999se convierte en1777800999000) 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. - 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
- Convertir Milisegundos a Fecha - la herramienta de accion para numeros de 13 digitos; multiplica segundos de 10 digitos por 1000 primero.
- Obtener Milisegundos Unix Actuales - ticker en vivo; util para comparar tu numero contra "ahora".
- Timestamps Unix Explicados - la referencia de formato: epoch, ISO 8601, RFC 2822, UTC vs hora local, las tres trampas comunes de timestamp.
- MD5 vs SHA-256 cuando hashear - si tu "numero" resulta ser 32 o 64 caracteres hex, es un hash, no un timestamp.
- Formatos de datos CSV vs JSON - el formato en que llego tu timestamp a menudo da pista de como se codifico (ISO 8601 en CSV, milisegundos en JSON).
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.