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.
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.
- Modo UTC: renderiza toda la salida contra el Tiempo Universal Coordinado. El formato RFC 3339 usa un sufijo literal
Zen lugar de+00:00. - 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 @ 2:14:38 PM +0000(formato humano de escaneo rápido) - RFC 1123Z:
Wed, 19 Mar 2025 14:14:38 +0000(estándar HTTP-date, coincide con encabezadosDateyLast-Modified) - Relative:
124d(hace cuánto tiempo ocurrió la solicitud)
- @ Format:
- 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 — ingrese0x6618E1FEy 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.
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 |
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 @ 2:14:38 PM +0000 |
| 2 | Common | DateTime | 2025-03-19 14:14:38 |
| 3 | Common | ISO 8601 | 2025-03-19T14:14:38+00:00 |
| 4 | Common | RFC 3339 | 2025-03-19T14:14:38Z (UTC usa Z) |
| 5 | RFC | RFC 1123Z | Wed, 19 Mar 2025 14:14:38 +0000 |
| 6 | RFC | RFC 822 | 19 Mar 25 14:14 UTC |
| 7 | RFC | RFC 822Z | 19 Mar 25 14:14 +0000 |
| 8 | RFC | RFC 1123 | Wed, 19 Mar 2025 14:14:38 UTC |
| 9 | RFC | RFC 850 | Wednesday, 19-Mar-25 14:14:38 UTC |
| 10 | Go | ANSIC | Wed Mar 19 14:14:38 2025 |
| 11 | Go | UnixDate | Wed Mar 19 14:14:38 UTC 2025 |
| 12 | Go | RubyDate | Wed Mar 19 14:14:38 +0000 2025 |
| 13 | Go | DateOnly | 2025-03-19 |
| 14 | Go | TimeOnly | 14:14:38 |
| 15 | Go | Kitchen | 2:14PM |
| 16 | Go | Stamp | Mar 19 14:14:38 |
| 17 | Locale | Locale | 3/19/2025, 2:14:38 PM (depende del navegador) |
| 18 | Locale | Locale Date | 3/19/2025 |
| 19 | Locale | Locale Time | 2:14:38 PM |
| 20 | Other | Hex | 0x6618E1FE |
| 21 | Other | Relative | 124d |
Á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