Conversor de marca de tiempo Unix
Convierte entre marcas de tiempo Unix y fechas legibles.
177911068317791106836162026-05-18T13:24:43.616Z¿Qué es un timestamp Unix?
Un timestamp Unix (también llamado tiempo Epoch o tiempo POSIX) es el número de segundos transcurridos desde el 1 de enero de 1970 a las 00:00:00 UTC. Este momento se llama Epoch Unix. Los timestamps proporcionan una forma universal e independiente de zona horaria de representar un momento específico como un único número, haciéndolos el estándar para almacenar y transmitir fechas en sistemas informáticos.
Por ejemplo, el timestamp 1700000000 representa el 14 de noviembre de 2023 a las 22:13:20 UTC. Los timestamps aumentan en uno cada segundo y siempre están en UTC, lo que elimina la ambigüedad de zona horaria. Esta simplicidad es la razón por la que los timestamps se usan en bases de datos, APIs, archivos de log, sistemas de caché y prácticamente cualquier aplicación backend.
Segundos vs. milisegundos
La mayoría de los sistemas Unix y lenguajes como Python, PHP y Ruby usan timestamps en segundos (un número de 10 dígitos a fecha de 2024). Sin embargo, JavaScript, Java y algunas bases de datos usan milisegundos (un número de 13 dígitos). Esta herramienta detecta el formato automáticamente: si el número tiene 13 dígitos, lo trata como milisegundos. También puedes alternar entre los dos formatos manualmente.
Cómo usar esta herramienta
Introduce un timestamp Unix (en segundos o milisegundos) para convertirlo a una fecha y hora legible, o selecciona una fecha y hora para obtener el timestamp correspondiente. El timestamp actual se muestra en vivo como referencia. La herramienta muestra los resultados tanto en UTC como en tu zona horaria local para que veas ambas representaciones.
Usos comunes de los timestamps
- Logging: registrar tiempos exactos de eventos en logs de aplicación y servidor para depuración y auditoría.
- Bases de datos: almacenar fechas en formato estandarizado e independiente de zona horaria que se ordena correctamente.
- APIs: transmitir fechas entre sistemas de forma fiable sin ambigüedad de parseo de zona horaria.
- Caché: rastrear tiempos de creación y expiración de caché con simples comparaciones numéricas.
- Limitación de tasa: hacer cumplir límites de petición comparando el tiempo actual con timestamps almacenados.
Fechas importantes en timestamps Unix
- Epoch Unix (1 de enero de 1970): timestamp 0. El punto de partida de todo el tiempo Unix.
- Y2K (1 de enero de 2000): timestamp 946.684.800.
- Problema del año 2038 (19 de enero de 2038): los timestamps con signo de 32 bits desbordan en 2.147.483.647. Los sistemas de 32 bits se ajustarán a números negativos o se bloquearán.
- Billennium (9 de septiembre de 2001): timestamp 1.000.000.000. El primer timestamp de 10 dígitos.
El problema del año 2038
Muchos sistemas antiguos almacenan timestamps como enteros con signo de 32 bits, que pueden contener valores de hasta 2.147.483.647. Este máximo se alcanzará el 19 de enero de 2038 a las 03:14:07 UTC. Después, los timestamps de 32 bits desbordan y se ajustan a valores negativos, potencialmente representando fechas en 1901. Los sistemas modernos de 64 bits no se ven afectados: un timestamp de 64 bits no desbordará hasta dentro de otros 292 mil millones de años.
¿Son seguros mis datos?
Sí. Toda la conversión ocurre completamente en tu navegador usando el objeto Date de JavaScript. Tus datos nunca abandonan tu dispositivo. No se registran, almacenan ni transmiten timestamps ni fechas.
Preguntas frecuentes
¿Los timestamps Unix tienen en cuenta los segundos intercalares?
No. Los timestamps Unix ignoran deliberadamente los segundos intercalares. Cada día se trata como exactamente 86.400 segundos. Cuando ocurre un segundo intercalar, el timestamp Unix repite un segundo o salta uno, según el sistema operativo. Esta simplificación mantiene la aritmética de timestamps directa.
¿Cómo obtengo el timestamp Unix actual en mi código?
En JavaScript: Math.floor(Date.now() / 1000). En Python: import time; int(time.time()). En PHP: time(). En Bash: date +%s. Todos devuelven la hora actual como un timestamp Unix en segundos.