Skip to main content

Fecha a timestamp

Convierte una fecha en una marca de tiempo.

Convertir una fecha en marca de tiempo Unix

Una fecha es ambigua mientras no digas en qué huso está. Una marca de tiempo no lo es: es un instante único contado desde 1970 en UTC. Pasar de una a otra obliga a comprometerse con un huso, y equivocarse desplaza la respuesta varias horas.

Cómo funciona

  • Interpreta la fecha y hora que aportas en el huso elegido y luego cuenta los segundos desde la época Unix.
  • Da el resultado en segundos y milisegundos, ya que distintos sistemas esperan unidades distintas.
  • Hace explícito el huso en vez de suponer en silencio el del navegador, que es de donde nace la mayoría de errores de conversión.
marca = segundos desde 1970-01-01T00:00:00Z

la misma hora de reloj en dos husos da dos marcas distintas,
separadas por la diferencia de sus desfases

milisegundos = segundos × 1000

Ejemplo resuelto

Las 15:00 del 20 de marzo de 2026, leídas primero como UTC y luego como hora local de Varsovia.

  1. 2026-03-20T15:00:00Z → 1774018800
  2. en milisegundos → 1774018800000
  3. 2026-03-20T15:00:00+01:00 (Varsovia) → 1774015200
  4. ambas difieren en 3.600 segundos: exactamente una hora

Misma fecha, misma lectura del reloj, dos marcas separadas por una hora. El huso no es un detalle de formato: es parte de lo que significa la fecha.

Cómo leer el resultado

  • Una cadena de fecha sola como 2026-03-20 se interpreta como medianoche UTC según la especificación de ECMAScript, mientras que 2026-03-20T00:00:00 sin Z se lee como local. La diferencia es tu desfase, y por eso las entradas de solo fecha causan a menudo errores de un día.
  • El tiempo Unix ignora los segundos intercalares. Cada día tiene exactamente 86.400 segundos, así que una marca no es un recuento real de segundos físicos transcurridos; para medir intervalos usa un reloj monótono.
  • Comprueba si el sistema receptor quiere segundos o milisegundos. Diez dígitos son segundos y trece milisegundos; pasar uno donde se espera el otro produce una fecha en 1970 o en el año 57.000.
  • Para fechas anteriores a 1970 la marca es negativa. Es válido, pero el tratamiento varía: algunas bases de datos y bibliotecas rechazan o manejan mal los valores negativos.

Preguntas frecuentes

¿Por qué mi fecha sale un día antes o después?
Casi siempre por una suposición de huso sobre un valor de solo fecha. Si escribes 2026-03-20 y el sistema lo lee como medianoche UTC, cualquiera al oeste de Greenwich verá el diecinueve en local. Adjunta siempre hora y huso explícitos a una fecha que vayas a convertir.
¿Guardo fechas o marcas de tiempo?
Guarda un instante en UTC siempre que lo registrado ocurriera en un momento concreto: un evento, una entrada de registro, una transacción. Guarda una fecha simple solo cuando el huso de verdad no importe, como un cumpleaños, donde el 20 de marzo significa lo mismo en todas partes.

Guía para convertir fechas a timestamps

Convertir fechas a timestamp Unix es una operación fundamental en programación: almacenar fechas en bases de datos, registrar eventos y sincronizar el tiempo entre sistemas. Las aplicaciones web modernas suelen necesitar transferir fechas entre el servidor y el navegador, y el timestamp Unix es el formato intermedio ideal, independiente de las zonas horarias.

Aplicaciones prácticas

El timestamp es imprescindible para: ordenar eventos del más reciente al más antiguo (mayor valor = momento posterior), calcular la diferencia de tiempo entre dos eventos, almacenar datos en caché con fecha de caducidad, sistemas de votación y encuestas, o en implementaciones de blockchain, donde cada bloque lleva un timestamp que confirma cuándo se creó.

Exactitud y precisión

Elige el formato de timestamp según tus necesidades: los segundos (1704067200) bastan para la mayoría de aplicaciones web y API, los milisegundos (1704067200000) son el estándar en JavaScript y la JVM y para el seguimiento preciso de eventos, y los nanosegundos (1704067200000000) se usan en sistemas financieros donde cada milisegundo cuenta.

Cuestiones y problemas

Comprueba siempre la zona horaria al convertir: la configuración por defecto puede variar entre entornos. Windows y Unix pueden tratar de forma distinta las fechas anteriores a la epoch (valores negativos). Operar con timestamps es más sencillo que con cadenas de fecha, porque permiten operaciones aritméticas simples sin bibliotecas.