Tools mentioned in this article
Open the browser-based tool while you read and try the workflow immediately.
“¿Cuándo ocurrió este registro exactamente?”
Durante el desarrollo del sistema, ves un número como 1736823600 salir por la consola.
Incluso si entiendes: “Oh, eso es tiempo Unix”, casi nadie puede responder instantáneamente exactamente qué mes, día y hora representa eso.

Investigar registros, verificar bases de datos, depurar API… la vida diaria de un ingeniero es una batalla constante con estos “números que son convenientes para las computadoras pero difíciles de leer para los humanos”.
Tiempo UNIX: Los “segundos” que conectan al mundo
El tiempo UNIX (tiempo Epoch) es la acumulación de segundos desde el 1 de enero de 1970, 00:00:00 UTC.
¿Por qué usamos algo tan difícil de leer en primer lugar?
Es para que las computadoras dispersas por todo el mundo puedan compartir correctamente “este momento exacto”.
Las “9:00 a. m. en Tokio” son las “12:00 a. m. en Londres”, pero en tiempo UNIX, es el mismo valor único en cualquier parte del mundo. Esta simplicidad es precisamente la razón por la que podemos sincronizar e intercambiar datos con servidores al otro lado del planeta.
3 “trampas” comunes en el desarrollo
Incluso cuando conocemos la mecánica, seguimos cometiendo errores por “descuido”.
1. Confundir “segundos” y “milisegundos”
Date.now() de JavaScript tiene 13 dígitos (milisegundos), mientras que el estándar para PHP o Python es de 10 dígitos (segundos).
“¡Llamé a la API y se convirtió en una fecha en 1970!” a menudo se debe a no notar esta diferencia en el recuento de dígitos.
2. El muro de las zonas horarias
El tiempo UNIX siempre es UTC (Tiempo Universal Coordinado), pero nuestras vidas transcurren en la hora local.
¿Alguna vez te has olvidado de tener en cuenta el desfase horario y un proceso por lotes que debía ejecutarse a medianoche se volvió loco al mediodía?
3. La fecha límite del “año 2038”
Solía sentirse como un futuro lejano, pero cada vez está más cerca. Si tienes la oportunidad de tocar sistemas heredados, mantener la perspectiva de “¿Se desbordará esta variable en 2038?” podría salvar a tu yo futuro (o a tu sucesor).
Ten un “traductor” a mano
No intentes forzar cálculos o conversiones complejas en tu cabeza: déjalas en manos de las herramientas.
El Convertidor de tiempo UNIX de DevToolKits determina automáticamente si un número es “segundos” o “milisegundos” con solo pegarlo, traduciéndolo a UTC y a tu hora local en un instante.
Ya sea que estés confirmando especificaciones de API o en medio de la investigación de una falla del sistema, utiliza esta herramienta como tu “lente para descifrar el tiempo” durante esos momentos agitados.
Si lo que necesitas es pasar de UTC a la hora de Japón (o al revés), la referencia de conversión UTC⇄JST reúne la tabla de desfases y los puntos donde JavaScript, MySQL y el cron de CI desplazan las fechas sin avisar.
Conclusión
Una vez que te acostumbras, el tiempo UNIX es un sistema muy justo y racional.
Cuando puedas manipular libremente el “tiempo” detrás de los números, tu visión como ingeniero se volverá más amplia y clara. ¡Adelante, haz del tiempo tu aliado y disfruta de tu desarrollo!
Preguntas frecuentes
¿El tiempo Unix está en UTC?
Sí. El tiempo Unix son los segundos transcurridos desde el 1 de enero de 1970 a las 00:00:00 UTC y no tiene concepto de zona horaria. Para un mismo instante, el valor es idéntico se mire desde Madrid o desde Tokio. La zona horaria solo interviene al convertirlo en una fecha legible para personas.
¿La marca de tiempo de JavaScript está en segundos?
No. Date.now() devuelve milisegundos, mil veces el valor del tiempo Unix habitual. Si pasa directamente a new Date() un valor en segundos que devuelve su servidor, obtendrá una fecha de los años setenta; y al revés, tomar milisegundos por segundos lo lleva a un futuro lejano. Se distinguen por la longitud: para la fecha actual, los segundos tienen 10 dígitos y los milisegundos 13.
¿Por qué me sale una fecha de 1970?
Casi siempre por confundir segundos con milisegundos. Interpretar como milisegundos un valor en segundos apenas lo separa del origen, así que cae cerca de 1970. También es habitual que un valor null o una cadena vacía se conviertan en 0 y den exactamente 1970-01-01. Para saber cuál es su caso, pegue el valor en el conversor de tiempo Unix.