Convertidor de Marca de Tiempo Unix
Introducción
Una marca de tiempo Unix (o tiempo epoch) es la forma estándar en que las computadoras representan el tiempo: un solo entero que cuenta los segundos desde el 1 de enero de 1970 a medianoche UTC, excluyendo los segundos intercalares. Aparece en registros de bases de datos, respuestas de API, tokens JWT, archivos de registro, programaciones cron y encabezados de caducidad de caché. Mientras que las máquinas leen estos enteros al instante, los humanos necesitan traducirlos a fechas de calendario y horas de reloj — a menudo en múltiples formatos simultáneamente.
El Convertidor de Marca de Tiempo Unix sirve a desarrolladores, administradores de sistemas y analistas de seguridad que necesitan decodificar marcas de tiempo de registros, verificar la expiración de tokens, programar trabajos cron entre zonas horarias, o buscar rápidamente un valor epoch histórico o futuro. La herramienta está dividida en dos bloques independientes:
- Bloque A (Marca de tiempo Unix → Fecha y Hora): ingrese una marca de tiempo numérica y véala representada en 21 formatos de fecha y hora, organizados por familia estándar.
- Bloque B (Fecha y Hora → Marca de tiempo Unix): seleccione una fecha de calendario, hora y compensación de zona horaria, y obtenga la marca de tiempo equivalente en segundos, milisegundos y microsegundos.
Ambos bloques tienen su propio selector de zona horaria, para que pueda trabajar en UTC para una dirección y una compensación personalizada para la otra sin contaminación cruzada.
Casos de uso
La conversión de marcas de tiempo Unix es una necesidad recurrente en el desarrollo, operaciones y trabajo de seguridad. Comprender estos escenarios le ayuda a integrar la herramienta en su flujo de trabajo.
Depuración de registros e informes de errores
Los registros de aplicaciones, bases de datos y servicios de seguimiento de errores a menudo registran marcas de tiempo como enteros Unix epoch. Al investigar un incidente, pegue la marca de tiempo en el Bloque A para ver la hora legible en múltiples formatos — RFC 1123Z para correlación de encabezados HTTP, ISO 8601 para cargas JSON y tiempo relativo para evaluar la actualidad.
Integración de API y verificación de tokens
Los JWT, tokens OAuth y encabezados de límite de velocidad de API usan frecuentemente marcas de tiempo Unix para expiración (exp), emisión (iat) y ventanas de reinicio. Use el convertidor para verificar que un token aún sea válido, comprobar cuándo se emitió en relación con su zona horaria actual y confirmar que su reloj local coincida con la hora epoch del servidor.
Planificación de cron jobs y tareas programadas
Al configurar cron jobs, copias de seguridad programadas o disparadores de pipelines CI/CD, a menudo necesita expresar una hora de reloj como una marca de tiempo Unix. El Bloque B le permite seleccionar una fecha, hora y zona horaria, y luego genera el valor epoch exacto — sin cálculos mentales ni ajustes de zona horaria.
Colaboración entre múltiples zonas horarias
Equipos distribuidos en diferentes zonas horarias comparten fragmentos de registros, ventanas de implementación y cronologías de incidentes. Pegar una marca de tiempo Unix en el Bloque A y cambiar entre UTC, Local y zonas horarias personalizadas revela cómo el mismo instante se ve en la hora local de cada miembro del equipo — eliminando ambigüedades de las cadenas convertidas con zona horaria.
Cómo funciona
El tiempo Unix cuenta segundos desde la época (1 de enero de 1970, 00:00:00 UTC). Cada tick agrega exactamente un segundo. Debido a que está anclado a UTC, una marca de tiempo Unix representa el mismo instante en cualquier lugar de la Tierra — la zona horaria solo importa cuando se renderiza como una cadena legible.
La herramienta utiliza el objeto Date nativo de JavaScript del navegador para todas las conversiones. Cada Date almacena internamente el tiempo como un solo número: milisegundos desde la época Unix. Cuando ingresa una marca de tiempo, la herramienta construye un Date y lee sus propiedades UTC o locales según el selector de zona horaria activo. Cuando ingresa una fecha de calendario y hora, la herramienta calcula la diferencia desde la época ajustada para la compensación de zona horaria especificada.
Unidades de marca de tiempo entre ecosistemas
Diferentes plataformas y lenguajes usan diferentes unidades de época. El selector de unidades de la herramienta le permite coincidir con la precisión de su fuente:
| Unidad | Usado por | Ejemplo |
|---|---|---|
| Segundos | Go, PHP, Python, PostgreSQL, Ruby, cron | 10 dígitos |
| Milisegundos | JavaScript (Date.now()), Ethereum, .NET DateTimeOffset, Java System.currentTimeMillis() |
13 dígitos |
| Microsegundos | Linux /proc/uptime, Go time.UnixMicro(), perfiles de alta resolución |
16 dígitos |
La herramienta convierte su entrada a segundos internamente. Si pega un valor de 13 dígitos de Date.now() de JavaScript, configure la unidad a milisegundos y la herramienta maneja la división.
Zona horaria y horario de verano (DST)
Una marca de tiempo Unix siempre representa el mismo instante físico. El selector de zona horaria en cada bloque solo cambia cómo se muestra o interpreta ese instante.
- Relative: hace cuánto tiempo ocurrió la solicitud – esta fila se actualiza en vivo con tu reloj actual, así que su valor cambia cada vez que abres la página
- Modo local: usa la zona horaria del sistema de su navegador, incluyendo ajustes automáticos de horario de verano.
- Modo personalizado: una compensación UTC numérica entre -12:00 y +14:00. La herramienta aplica esta compensación directamente sin corrección DST — trata su compensación como un reloj de pared fijo.
Cuando el horario de verano está activo, la compensación de la zona horaria local cambia. La misma marca de tiempo mostrada en modo Local puede mostrar una hora diferente a la del mes anterior. Esto es esperado: la marca de tiempo es la misma, pero la convención del reloj local cambió.
Para las filas con formato locale (Locale, Locale Date, Locale Time), la herramienta respeta tanto la zona horaria seleccionada como la configuración de idioma de su navegador. Si elige el modo UTC, toLocaleString recibe { timeZone: 'UTC' }, asegurando que el formato locale use la zona horaria correcta.
Uso
Bloque A — Marca de tiempo a Fecha y Hora
- Ingrese una marca de tiempo Unix en el campo de entrada (solo dígitos, signo menos opcional para antes de 1970).
- Seleccione la precisión de entrada: Segundos, Milisegundos o Microsegundos.
- Elija una zona horaria: UTC, Local (zona horaria de su sistema) o Personalizada (ingrese una compensación entre -12 y +14 en pasos de media hora).
- Lea los resultados — 21 filas de formatos de fecha y hora se actualizan en tiempo real.
Bloque B — Fecha y Hora a Marca de tiempo
- Ingrese el año directamente. Use los menús desplegables para mes, día, hora, minuto y segundo.
- Elija una zona horaria del selector UTC/GMT: Local coincide con la zona horaria de su sistema; las entradas numéricas como
UTC+8tratan la entrada como hora de reloj de pared en esa zona. - Los resultados de la marca de tiempo aparecen inmediatamente en segundos, milisegundos, microsegundos, hexadecimal y tiempo relativo.
Los dos bloques operan de forma independiente. Cambiar el Bloque A no afecta al Bloque B y viceversa. Esto le permite comparar marcas de tiempo lado a lado o fijar un valor de referencia mientras explora diferentes formatos.
Tutorial
Escenario 1: Decodificar una marca de tiempo de un registro del servidor
El registro de su aplicación muestra la marca de tiempo 1742345678 — una llamada API que falló. Necesita saber exactamente cuándo ocurrió y también verificar el formato HTTP-date para correlacionarlo con los encabezados de respuesta HTTP.
- Abra el Convertidor de Marca de Tiempo Unix.
- Escriba
1742345678en el campo de entrada del Bloque A. - Los resultados muestran 21 filas de formato, incluyendo:
- @ Format:
3/19/2025 @ 12:54:38 AM UTC(formato humano de escaneo rápido) - RFC 1123Z:
Wed, 19 Mar 2025 00:54:38 +0000(estándar HTTP-date, coincide con encabezadosDateyLast-Modified)
- @ Format:
- Relative: hace cuánto tiempo ocurrió la solicitud – esta fila se actualiza en vivo con tu reloj actual, así que su valor cambia cada vez que abres la página
- Cambie la zona horaria a Local para ver qué hora era en su propia zona horaria.
Escenario 2: Programar un trabajo cron a una hora específica
Necesita que un trabajo cron se ejecute a las 3:30 AM, hora del Este, el 15 de junio de 2026. La hora de verano del Este (EDT) es UTC-4 en junio.
- En el Bloque B, configure la fecha al 15 de junio de 2026 y la hora a las 03:30:00.
- Configure el selector UTC/GMT a
UTC+4(EDT es UTC-4, así que ingrese -4). - Lea el valor de Segundos — esta es su marca de tiempo cron. Las filas de Hex y Relative también se actualizan, dándole una referencia legible por máquina y por humano simultáneamente.
Consejos profesionales
Casos de uso de formatos
Cada formato de salida sirve un propósito específico. Aquí se explica cuándo usar cada uno:
| Formato | Cuándo usarlo |
|---|---|
| @ Format | Escaneo visual rápido — el diseño compacto M/D/YYYY @ HH:MM:SS AM/PM es legible de un vistazo |
| DateTime | Inserciones en bases de datos SQL (YYYY-MM-DD HH:MM:SS), la forma de cadena más común fuera de JSON |
| ISO 8601 | Cargas útiles JSON (new Date().toISOString()), cuerpos de solicitud/respuesta de API REST |
| RFC 3339 | Feeds RSS, feeds Atom, suscripciones de calendario (iCalendar); se usa donde ISO 8601 necesita un perfil más estricto |
| RFC 1123Z | Encabezados HTTP (Date, Last-Modified, Expires), cookies (atributo expires) |
| RFC 822 | Encabezados de correo electrónico (campo Date), formatos de grupos de noticias heredados |
| RFC 850 | Implementaciones HTTP/1.0 antiguas (raro hoy, se mantiene por compatibilidad hacia atrás) |
| ANSIC | Constante time.ANSIC de Go — se usa al leer la salida predeterminada de time.Time de Go |
| RubyDate | Formato Time#ctime de Ruby; coincide con la salida clásica de Unix ctime |
| DateOnly / TimeOnly | Constantes de conveniencia de Go 1.20+ — extrae solo la fecha o solo la hora |
| Kitchen | Formato de reloj de 12 horas de Go — lectura rápida de reloj de pared |
| Locale | Visualización de interfaz de usuario; respeta el idioma y las convenciones culturales del navegador |
| Hex | Depuración de bajo nivel, marcas de tiempo de firmware, sistemas embebidos |
| Relative | Visualizaciones de tablero, elementos de interfaz de "tiempo desde el último evento" |
Implementaciones en lenguajes
Obtenga la marca de tiempo Unix actual en su lenguaje preferido:
// Go
time.Now().Unix() // segundos
time.Now().UnixMilli() // milisegundos (Go 1.17+)
// JavaScript
Math.floor(Date.now() / 1000) // segundos
Date.now() // milisegundos
// PHP
time(); // segundos
intval(microtime(true) * 1000); // milisegundos
# Python
import time; int(time.time()) # segundos
import time; int(time.time() * 1000) # milisegundos
Consejos generales
- Marcas de tiempo anteriores a 1970: Ingrese valores negativos. El 1 de diciembre de 1960 a las 00:00:00 UTC es
-286329600. - Entrada hexadecimal: Los valores hexadecimales (con o sin prefijo
0x) se analizan automáticamente — ingrese0x67DA15CEy vea el equivalente decimal. - Comparar zonas horarias: Configure la zona horaria del Bloque A a UTC y la zona horaria del Bloque B a Local simultáneamente para ver cómo se renderiza el mismo instante en ambas.
Errores comunes
Las marcas de tiempo Unix son simples en concepto pero fáciles de usar incorrectamente. Aquí están los errores más comunes.
Confusión entre segundos y milisegundos
Este es el error más frecuente. Un número de 10 dígitos como 1712345678 son segundos; un número de 13 dígitos como 1712345678000 son milisegundos. Pegar milisegundos en un convertidor en modo segundos produce una fecha décadas en el futuro (p. ej., 54382 años a partir de ahora). Siempre verifique la cantidad de dígitos antes de convertir.
Ignorar la zona horaria en la dirección inversa
Al convertir una fecha y hora a una marca de tiempo Unix (Bloque B), la zona horaria seleccionada es importante. Ingresar 2026-06-15 03:30:00 con UTC seleccionado da una marca de tiempo diferente que la misma hora de reloj con UTC+8 — la diferencia es exactamente 8 horas. El número entero resultante es correcto para cada interpretación, pero si olvida establecer la zona horaria, la salida no coincidirá con lo que el sistema receptor espera.
Asumir que la hora local coincide con la del servidor
Al decodificar una marca de tiempo de un registro del servidor, la marca de tiempo ya está en UTC — la zona horaria solo afecta cómo se muestra. Cambiar el Bloque A al modo Local cambia la hora del reloj renderizada pero no el instante subyacente. Si la salida parece incorrecta, revise primero el selector de zona horaria, no el valor de la marca de tiempo.
Usar la unidad incorrecta para valores hex o relativos
Las salidas hex y de tiempo relativo se derivan de la misma conversión interna. Ingresar una marca de tiempo en milisegundos con la unidad configurada en segundos produce un valor hex que representa un instante diferente. Siempre confirme que el selector de unidades coincida con la precisión de sus datos de origen.
Alternativas
| Herramienta | Marca de tiempo a Fecha | Fecha a Marca de tiempo | 21+ Formatos | Zona horaria independiente por bloque | Lado del cliente |
|---|---|---|---|---|---|
| Toollect Unix Timestamp Converter | Sí | Sí | Sí (21) | Sí | Sí |
| unixtimestamp.com | Sí | Sí | ~5 | No | Sí |
| epochconverter.com | Sí | Sí | ~8 | No | Sí |
| site24x7.com | Sí | Sí | ~6 | IANA completo | Sí |
date -d @timestamp (Linux) |
Sí | No | ~3 | Solo TZ del sistema | N/A |
Privacidad de datos
El Convertidor de Marca de Tiempo Unix procesa cada conversión completamente dentro de su navegador. Ninguna marca de tiempo, fecha o valor de zona horaria que ingrese se transmite a ningún servidor, se almacena en ninguna base de datos ni se registra en ningún sistema.
Todas las conversiones se realizan utilizando el objeto Date nativo de JavaScript en la memoria. La página de la herramienta no incluye scripts de análisis, píxeles de seguimiento ni embebidos de terceros. No se crean ni leen cookies, entradas de localStorage o sessionStorage.
Después de la carga inicial de la página, el convertidor funciona completamente sin conexión — puede desconectarse de Internet y continuar convirtiendo marcas de tiempo sin interrupción. Puede verificar esto utilizando la herramienta en modo avión o inspeccionando la actividad de red en las herramientas de desarrollo de su navegador.
Solución de problemas
| Problema | Causa probable | Solución |
|---|---|---|
| La salida muestra una fecha en 1970 o 1969 | La entrada se está leyendo en la unidad incorrecta | Cambie el selector de unidad para que coincida con su entrada (segundos / ms / μs) |
| La fecha y hora muestran el momento incorrecto | El selector de zona horaria está configurado incorrectamente | Cambie a UTC para verificar el instante base, luego ajuste a la compensación correcta |
| La fila Locale muestra la hora incorrecta | El formato Locale ignora la selección de zona horaria del Bloque A | Esto se solucionó — ahora Locale respeta la zona horaria seleccionada. Verifique que esté en la versión más reciente |
| La salida no se actualiza | La entrada contiene caracteres no numéricos | Limpie el campo e ingrese solo dígitos y un signo menos inicial opcional |
| El tiempo relativo muestra "justo ahora" para una marca de tiempo pasada conocida | El tiempo relativo se calcula contra el reloj actual del sistema | Esto es esperado — el tiempo relativo siempre compara la marca de tiempo con "ahora" |
| Una entrada de 13 dígitos muestra una fecha muy lejana en el futuro | La entrada está en milisegundos pero la unidad predeterminada es segundos | Cambie la unidad a "Milisegundos" |
Especificaciones técnicas
- Motor de conversión: Objeto
Datede JavaScript (estándar ECMAScript) - Rango de marcas de tiempo: Rango completo de números de JavaScript (±9 mil billones de segundos, cubriendo miles de millones de años)
- Entrada compatible: Enteros decimales, valores negativos (antes de 1970)
- Precisión de entrada: Segundos, milisegundos o microsegundos (configurable)
- Soporte de zona horaria: UTC, local (sistema del navegador), compensación GMT personalizada (-12 a +14 en pasos de 0.5 horas); independiente para cada bloque
Las 21 familias de formato
| # | Grupo | Formato | Ejemplo |
|---|---|---|---|
| 1 | Common | @ Format | 3/19/2025 @ 12:54:38 AM UTC |
| 2 | Common | DateTime | 2025-03-19 00:54:38 |
| 3 | Common | ISO 8601 | 2025-03-19T00:54:38+00:00 |
| 4 | Common | RFC 3339 | 2025-03-19T00:54:38Z (UTC usa Z) |
| 5 | RFC | RFC 1123Z | Wed, 19 Mar 2025 00:54:38 +0000 |
| 6 | RFC | RFC 822 | 19 Mar 25 00:54 UTC |
| 7 | RFC | RFC 822Z | 19 Mar 25 00:54 +0000 |
| 8 | RFC | RFC 1123 | Wed, 19 Mar 2025 00:54:38 UTC |
| 9 | RFC | RFC 850 | Wednesday, 19-Mar-25 00:54:38 UTC |
| 10 | Go | ANSIC | Wed Mar 19 00:54:38 2025 |
| 11 | Go | UnixDate | Wed Mar 19 00:54:38 UTC 2025 |
| 12 | Go | RubyDate | Wed Mar 19 00:54:38 +0000 2025 |
| 13 | Go | DateOnly | 2025-03-19 |
| 14 | Go | TimeOnly | 00:54:38 |
| 15 | Go | Kitchen | 12:54AM |
| 16 | Go | Stamp | Mar 19 00:54:38 |
| 17 | Locale | Locale | 3/19/2025, 12:54:38 AM (depende del navegador) |
| 18 | Locale | Locale Date | 3/19/2025 |
| 19 | Locale | Locale Time | 12:54:38 AM |
| 20 | Other | Hex | 0x67DA15CE |
| 21 | Other | Relative | se actualiza en vivo |
Árbol genealógico de formatos
Los formatos de fecha y hora en esta herramienta derivan de cuatro linajes:
- RFC 822 (1982) definió el formato original de fecha de correo electrónico con un año de 2 dígitos. RFC 1123 (1989) lo reemplazó con un año de 4 dígitos. RFC 1123Z es el mismo formato usando una compensación de zona horaria numérica (
+0000) en lugar de una abreviatura alfabética (UTC). Juntos cubren encabezados HTTP (1123Z) y formatos de correo electrónico (822). - ISO 8601 (1988) estableció el estándar internacional para la representación de fecha y hora. RFC 3339 (2002) perfila ISO 8601 para uso en Internet, añadiendo requisitos como la
Zobligatoria para UTC. La mayoría de las API modernas eligen uno de estos dos. - Constantes de tiempo de Go (
ANSIC,UnixDate,RubyDate, etc.) son diseños de conveniencia integrados en la biblioteca estándar de Go. Reflejan convenciones POSIX (salidactime), estándares RFC y formas de conveniencia específicas de Go (DateOnly,Kitchen,Stamp). - Formatos Locale usan la API
Intl.DateTimeFormatdel navegador, que sigue el Repositorio Común de Datos Locale de Unicode (CLDR). La salida exacta depende de la configuración de idioma del navegador del usuario.
Compatibilidad
- Navegadores: Chrome 90+, Firefox 90+, Safari 15+, Edge 90+
- Dependencias: Ninguna — JavaScript puro, cero bibliotecas de terceros
- Procesamiento de datos: 100% del lado del cliente — cero solicitudes de red
Características
- Conversión bidireccional entre marcas de tiempo Unix y fechas legibles
- Visualización en tiempo real de la marca de tiempo Unix actual con actualizaciones automáticas
- Múltiples formatos de salida: UTC, hora local, ISO 8601, hex y tiempo relativo
- Soporte de compensación de zona horaria personalizada para conversión precisa de fecha a marca de tiempo
- Procesamiento del lado del cliente — no se envían datos a ningún servidor