Tiempo/Números

Unix Timestamp ↔ Fecha

Convierte tiempo Unix a una fecha y viceversa, con soporte para cualquier zona horaria (IANA).


                    

Unix time (epoch time) is the number of seconds elapsed since January 1, 1970, 00:00:00 UTC. It's the most common way to store time in databases, APIs, and logs, since it's just a single integer with no tie to a specific timezone or date format.

How to use it

Common uses

Things to keep in mind

Mixing up seconds and milliseconds is the most common mistake: JavaScript's Date.now() returns milliseconds, while most Unix APIs use seconds — a factor of 1000 off.

Unix time itself has no timezone — it's always UTC; a timezone is only applied when displaying the date to a person.

Artículo sobre esta herramienta: Tiempo Unix: por qué las computadoras cuentan el tiempo desde 1970

Preguntas frecuentes

¿Qué es una marca de tiempo Unix?

Es el número de segundos que han pasado desde el 1 de enero de 1970, 00:00:00 UTC (la época Unix). Este número no está vinculado a ninguna zona horaria — la zona horaria solo se aplica al mostrar la fecha a una persona.

¿Cuál es la diferencia entre segundos y milisegundos?

JavaScript y algunas API (como Date.now()) devuelven una marca de tiempo en milisegundos, mientras que el tiempo Unix clásico está en segundos. Confundir la unidad da una fecha en 1970 o en algún punto del futuro lejano — elige la unidad correcta en el campo "Unidades".

¿Qué es el problema del año 2038?

En sistemas donde una marca de tiempo se almacena como un entero de 32 bits con signo, el contador de segundos se desbordará el 19 de enero de 2038. Los sistemas modernos de 64 bits no tienen este problema.

¿El tiempo Unix tiene en cuenta los segundos intercalares?

No, cada día en el tiempo Unix siempre equivale exactamente a 86400 segundos; los segundos intercalares se ignoran. Los sistemas que necesitan una sincronización exacta con el UTC astronómico manejan los segundos intercalares con un mecanismo aparte, fuera del timestamp Unix estándar.

¿Puede un timestamp Unix ser negativo?

Sí, los valores negativos corresponden a fechas anteriores al 1 de enero de 1970. La mayoría de los sistemas modernos manejan estos valores correctamente, aunque algunas API o bibliotecas antiguas podrían no admitirlos.

Artículos: Tiempo/Números

Expresiones cron: cómo descifrar un horario de tareas

Cómo descifrar una expresión como */15 * * * * y saber exactamente cuándo se ejecutará la tarea.

Sistemas numéricos: para qué sirven el binario, el octal y el hexadecimal

Por qué el color #FF5733 en CSS se escribe con dígitos hexadecimales en lugar de decimales.

Operaciones bit a bit: cómo funcionan AND, OR y XOR a nivel de bits

En qué se diferencia el AND bit a bit del lógico, y para qué sirve operar sobre bits individuales de un número.

Diferencia entre fechas: por qué contar días es más complicado de lo que parece

Por qué restar fechas de forma ingenua puede dar un resultado incorrecto por culpa de los años bisiestos.

Cálculo de edad: por qué no es una simple resta de años

Por qué restar simplemente los años de nacimiento puede dar una edad un año mayor que la real.

Zonas horarias: por qué UTC no es lo mismo que GMT

Por qué UTC nunca cambia dos veces al año, mientras que la hora de Londres (GMT/BST) sí lo hace.

Calculadora de duración: cómo sumar correctamente horas, minutos y segundos

Por qué al sumar minutos y segundos hay que "llevar" el resto a la siguiente posición, igual que en la suma decimal.

ISO 8601 Duration: cómo escribir una duración en formato estándar

Por qué PT1H30M significa «1 hora 30 minutos» y no «1 minuto 30 horas».

Número de semana: por qué en distintos países las semanas se cuentan diferente

Por qué el 1 de enero a veces pertenece a la semana 52 o 53 del año anterior según el estándar ISO 8601.

Números romanos: cómo funciona un sistema sin cero ni posiciones

Por qué IV significa 4 y no 6, y cómo funciona la regla de resta en los números romanos.

IEEE 754: por qué 0.1 + 0.2 no es igual a 0.3 en el código

Por qué en casi todos los lenguajes de programación 0.1 + 0.2 muestra 0.30000000000000004.

Número en letras: para qué convertir cifras en palabras

Por qué en los documentos bancarios la cantidad se escribe a la vez en cifras y en letras.