Guía

Cómo convertir una fecha y hora a timestamp Unix

Convierte una fecha completa a Unix time eligiendo correctamente UTC u hora local y segundos o milisegundos.

por Tools in a Tab · Publicado el · Revisado el

Respuesta breve

Para convertir una fecha y hora a timestamp necesitas cuatro datos: fecha, hora, zona temporal y unidad de salida. Omitir cualquiera de los dos últimos puede producir un número válido que represente un instante equivocado.

Procedimiento fiable

  1. Escribe la fecha completa, incluido el año.
  2. Indica la hora; no conviertas «las 10:00» sin saber de qué día se trata.
  3. Decide si esa hora ya está expresada en UTC o pertenece a la zona local del navegador.
  4. Elige segundos o milisegundos según el contrato del sistema receptor.
  5. Convierte y comprueba también la fecha UTC resultante.

En el conversor de timestamp puedes hacer los dos sentidos sin enviar la fecha al servidor.

Ejemplo exacto en UTC

La entrada:

Fecha: 2000-01-01
Hora: 00:00:00.000
Zona: UTC

produce:

946684800 segundos
946684800000 milisegundos

Ambos números señalan el mismo instante. La diferencia de tres ceros es la unidad, no una precisión inventada.

Ejemplo con hora local

2026-01-15 10:00 en Madrid no es 10:00 UTC: en invierno corresponde a 09:00 UTC. En verano, la diferencia habitual es otra. Por eso no conviene aplicar manualmente un desplazamiento fijo a todas las fechas del año.

Cuando seleccionas hora local, el navegador usa las reglas de zona disponibles en el sistema. Si la hora cae dentro de un salto de horario y nunca existió, la conversión debe rechazarse. Si se repite durante el cambio de otoño, puede ser ambigua y necesita contexto adicional.

Errores frecuentes

  • Introducir una fecha UTC como local, o al revés.
  • Enviar milisegundos a una API que espera segundos.
  • Redondear y perder los milisegundos que sí eran significativos.
  • Usar solo una hora sin fecha.
  • Interpretar el formato 03/04/2026 sin acordar día y mes.

Usa una forma no ambigua como AAAA-MM-DD para la entrada y conserva la zona en el contrato de la aplicación. Si el destino es un JWT, sus claims temporales registrados utilizan segundos NumericDate, no milisegundos.

Fuentes primarias