Convertidor de marca de tiempo Unix

Herramienta de conversión bidireccional entre marcas de tiempo Unix/Linux y fechas/horas, con comparación basada en múltiples zonas horarias.

Hora actual

Marca de tiempo actual (segundos)
1766513614
Hora actual
2025-12-23 18:13:34

Marca de tiempo a fecha

Resultado de la conversión(automático)

Fecha a marca de tiempo

Resultado de la conversión(automático)

Convertidor de fechas y horas de múltiples marcas de tiempo

Convertidor de fechas y horas de múltiples marcas de tiempo

Convertidor de marcas de tiempo de múltiples fechas

Convertidor de marcas de tiempo de múltiples fechas

Instrucciones de uso

Esta herramienta se utiliza para completar rápidamente la conversión bidireccional entre la marca de tiempo Unix y la fecha y hora en diferentes escenarios. Admite la precisión en segundos y milisegundos y permite seleccionar la zona horaria de destino para una visualización comparativa. Ofrece convertidores de una sola tarjeta y múltiples tarjetas. La conversión se realiza tan pronto como se introduce la entrada, y los resultados se actualizan automáticamente al cambiar la zona horaria. Además, tiene integrados rangos de tiempo recientes y intervalos de tiempo comunes, lo que satisface las necesidades de desarrollo, depuración y conversiones diarias.

Detección automática: La herramienta detectará automáticamente si la entrada es una marca de tiempo en segundos (10 dígitos) o en milisegundos (13 dígitos).
Zona horaria: Muestra la hora local y la hora UTC, lo que facilita el uso en diferentes zonas horarias.

Características de la herramienta

  • Conversión inmediata al introducir la entrada, admite la detección automática de marcas de tiempo en segundos/milisegundos.
  • Admite la selección y visualización de zonas horarias globales: tres vistas (local, UTC y zona horaria seleccionada).
  • Múltiples tarjetas de convertidor para facilitar la comparación en lotes.
  • Interfaz receptiva y amigable con el teclado, buena accesibilidad.
  • Tiene integrados rangos de tiempo recientes e intervalos de tiempo comunes, listos para copiar y usar.

¿Qué es una marca de tiempo?

La marca de tiempo Unix (Unix Timestamp) es el número total de segundos o milisegundos transcurridos desde las 00:00:00 UTC del 1 de enero de 1970 (Unix Epoch).

La marca de tiempo es un número que representa el tiempo, generalmente en segundos o milisegundos.

El punto de partida de la marca de tiempo es las 00:00:00 UTC del 1 de enero de 1970, y este momento se llama la época Unix.

La marca de tiempo se utilizó inicialmente en el sistema operativo Unix, por lo que a menudo se le llama marca de tiempo Unix.

Las marcas de tiempo se utilizan ampliamente en la programación y las comunicaciones de red, especialmente en el desarrollo web.

Precisiones comunes: segundos (por ejemplo, 1735689600) y milisegundos (por ejemplo, 1735689600000). Al representar fechas y horas relacionadas con la zona horaria, es necesario formatear la visualización en función de la zona horaria.

Marcas de tiempo recientes (basadas en la zona horaria global)

Marcas de tiempo comunes (duraciones)

1 minuto
60 Segundos
1 hora
3600 Segundos
1 día
86400 Segundos
1 semana
604800 Segundos
1 mes (30 días)
2592000 Segundos
1 año (365 días)
31536000 Segundos

El problema del año 2038 de las marcas de tiempo

El problema del año 2038 se refiere al problema de desbordamiento que ocurre después del 19 de enero de 2038 a las 03:14:07 cuando se utiliza un entero con signo de 32 bits para almacenar la marca de tiempo Unix (en segundos, contados desde las 00:00:00 UTC del 1 de enero de 1970).

Dado que el rango de un entero con signo de 32 bits es de -2,147,483,648 a 2,147,483,647, y la marca de tiempo de las 03:14:07 UTC del 19 de enero de 2038 es 2,147,483,647, luego de ese momento, un entero con signo de 32 bits no podrá representar las marcas de tiempo posteriores.

La mayoría de los sistemas o software antiguos que utilizan time_t de 32 bits se ven afectados. Los sistemas modernos generalmente utilizan 64 bits (por ejemplo, un entero de 64 bits en milisegundos), por lo que no tienen este problema.

Se recomienda utilizar marcas de tiempo de 64 bits o una biblioteca de tiempo que admita un gran rango de fechas.

Cómo obtener/convertir marcas de tiempo a través de lenguajes de programación

JavaScript
Obtener la marca de tiempo actual
Math.floor(Date.now() / 1000); // seconds
Date.now(); // milliseconds
Marca de tiempo → Fecha
new Date(1735689600 * 1000).toISOString();
Fecha → Marca de tiempo
new Date('2025-01-01T00:00:00Z').getTime();
PHP
Obtener la marca de tiempo actual
time();                // seconds
intval(microtime(true) * 1000); // milliseconds
Marca de tiempo → Fecha
date('Y-m-d H:i:s', 1735689600);
Fecha → Marca de tiempo
strtotime('2025-01-01 00:00:00');
Python
Obtener la marca de tiempo actual
import time

int(time.time())        # seconds
int(time.time() * 1000) # milliseconds
Marca de tiempo → Fecha
import datetime

datetime.datetime.utcfromtimestamp(1735689600).isoformat()
Fecha → Marca de tiempo
import datetime

int(datetime.datetime(2025,1,1,0,0,0,tzinfo=datetime.timezone.utc).timestamp())
Go
Obtener la marca de tiempo actual
import "time"

time.Now().Unix()      // seconds
time.Now().UnixMilli() // milliseconds
Marca de tiempo → Fecha
import "time"

time.Unix(1735689600, 0).UTC().Format(time.RFC3339)
Fecha → Marca de tiempo
import "time"

ts := time.Date(2025,1,1,0,0,0,0,time.UTC).Unix()
Rust
Obtener la marca de tiempo actual
use chrono::Utc;

let now = Utc::now();
let sec = now.timestamp();        // seconds i64
let ms  = now.timestamp_millis(); // milliseconds i128
Marca de tiempo → Fecha
use chrono::{DateTime, NaiveDateTime, Utc};

let dt: DateTime = NaiveDateTime::from_timestamp_opt(1735689600, 0)
    .unwrap()
    .and_utc();
let iso = dt.to_rfc3339();
Fecha → Marca de tiempo
use chrono::DateTime;

let ts = DateTime::parse_from_rfc3339("2025-01-01T00:00:00Z")
    .unwrap()
    .timestamp();
SQL
Obtener la marca de tiempo actual
-- MySQL / MariaDB
SELECT UNIX_TIMESTAMP();

-- PostgreSQL
SELECT EXTRACT(EPOCH FROM NOW())::bigint;

-- SQLite
SELECT strftime('%s', 'now');
Marca de tiempo → Fecha
-- MySQL / MariaDB
SELECT FROM_UNIXTIME(1735689600);

-- PostgreSQL
SELECT to_timestamp(1735689600) AT TIME ZONE 'UTC';

-- SQLite
SELECT datetime(1735689600, 'unixepoch');
Fecha → Marca de tiempo
-- MySQL / MariaDB
SELECT UNIX_TIMESTAMP('2025-01-01 00:00:00');

-- PostgreSQL
SELECT EXTRACT(EPOCH FROM TIMESTAMP '2025-01-01 00:00:00+00')::bigint;

-- SQLite
SELECT strftime('%s', '2025-01-01 00:00:00');