Desarrollador 🔒 Se ejecuta en tu navegador — no se envían datos

Convertir milisegundos a fecha

Lea un timestamp Unix en milisegundos como fecha, conservando la parte de menos de un segundo en la línea ISO 8601.

Timestamp Unix actual:
Timestamp → fecha
Fecha → timestamp

Un timestamp o una fecha por línea, hasta 500.

Convertir milisegundos epoch en una fecha

Casi todos los valores de tiempo con los que se topa quien trabaja en el front-end vienen en milisegundos, porque es lo que le entrega el lenguaje: Date.now() cuenta milisegundos, no segundos. Todo lo que viene después, de las tuberías de registros a las columnas de una base de datos, tiene que ponerse de acuerdo sobre la unidad. Esta página abre el conversor de timestamp Unix con el menú «Unidad» ya en «Milisegundos», para que un número de trece cifras se lea bien en el instante en que lo pegue.

La respuesta aparece en cuatro líneas a la vez: el instante en la zona seleccionada arriba a la derecha, el mismo instante en <abbr title="Tiempo universal coordinado">UTC, la forma ISO 8601 que la mayoría de las API quiere de vuelta y la distancia hasta ahora en palabras llanas. Todo se calcula en la página, así que los valores sacados de un registro de producción se quedan en su equipo.

Trece cifras, y cuándo contarlas no basta

La detección automática trabaja con el número de cifras y acierta con cualquier fecha de este siglo, pero la unidad es una propiedad del sistema que produjo el número, no del número en sí. Fije el menú «Unidad» y la conjetura desaparece. Equivocarse no es un detalle menor, porque cada paso entre unidades mueve la fecha tres órdenes de magnitud.

Unidad elegida para 1735689600000Fecha que produceVeredicto
Segundos25 de octubre de 56971Desviado un factor de 1000 en el sentido contrario
Milisegundos1 de enero de 2025, 00:00:00 UTCLo que el número significa
Microsegundos21 de enero de 1970, 02:08:09 UTCUna fecha cercana a 1970 es el síntoma clásico
Nanosegundos1 de enero de 1970, 00:28:55 UTCCasi la propia epoch

Una fecha en los primeros días de 1970, o una a decenas de miles de años, casi nunca es un dato corrupto. Es el mismo entero leído con la unidad equivocada, y el arreglo está en el menú, no en el número.

De dónde salen los timestamps en milisegundos

  • JavaScript: Date.now() y new Date().getTime() devuelven milisegundos, y new Date(n) los espera, razón por la cual un valor de diez cifras hay que multiplicarlo antes por 1000.
  • Java: System.currentTimeMillis() e Instant.toEpochMilli().
  • MongoDB: el tipo de fecha de BSON es una cuenta de milisegundos desde la epoch en 64 bits con signo.
  • Kafka, Elasticsearch y la mayoría de los formatos de registro en JSON, que heredaron la unidad de los lenguajes que escriben en ellos.

Las bases de datos y las herramientas Unix tiran para el otro lado y cuentan en segundos, así que la frontera entre un servicio en JavaScript y una columna SQL es exactamente donde se pierde el factor 1000. Convertir aquí un valor sospechoso y leer la fecha es la manera más rápida de ver qué lado lo dejó caer.

Redondeo, y convertir más de uno

Pasar de milisegundos a segundos es un truncamiento, así que hágalo en un solo sitio y en un solo sentido. Mezclar un redondeo hacia abajo en un servicio con un redondeo al más cercano en otro produce diferencias de un segundo que solo aparecen cuando dos eventos caen en el mismo segundo. La pestaña «Por lotes» debajo del conversor sigue la misma regla: pegue hasta 500 líneas y cada fila recibe una columna «Segundos» con la fracción descartada junto a una columna «ISO 8601 (UTC)» que la conserva, lista para copiar como CSV.

Conversiones relacionadas

Para un valor de diez cifras está convertir timestamp a fecha, y para el sentido contrario convertir fecha a timestamp, que devuelve segundos y milisegundos para la fecha que elija. El timestamp Unix actual es el contador en marcha de la barra superior, y los timestamps de Discord necesitan la forma en segundos, que es un motivo frecuente para bajar de unidad.

Guías relacionadas