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 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.
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 comunes (duraciones)
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
Math.floor(Date.now() / 1000); // seconds
Date.now(); // milliseconds
new Date(1735689600 * 1000).toISOString();
new Date('2025-01-01T00:00:00Z').getTime();
time(); // seconds
intval(microtime(true) * 1000); // milliseconds
date('Y-m-d H:i:s', 1735689600);
strtotime('2025-01-01 00:00:00');
import time
int(time.time()) # seconds
int(time.time() * 1000) # milliseconds
import datetime
datetime.datetime.utcfromtimestamp(1735689600).isoformat()
import datetime
int(datetime.datetime(2025,1,1,0,0,0,tzinfo=datetime.timezone.utc).timestamp())
import "time"
time.Now().Unix() // seconds
time.Now().UnixMilli() // milliseconds
import "time"
time.Unix(1735689600, 0).UTC().Format(time.RFC3339)
import "time"
ts := time.Date(2025,1,1,0,0,0,0,time.UTC).Unix()
use chrono::Utc;
let now = Utc::now();
let sec = now.timestamp(); // seconds i64
let ms = now.timestamp_millis(); // milliseconds i128
use chrono::{DateTime, NaiveDateTime, Utc};
let dt: DateTime = NaiveDateTime::from_timestamp_opt(1735689600, 0)
.unwrap()
.and_utc();
let iso = dt.to_rfc3339();
use chrono::DateTime;
let ts = DateTime::parse_from_rfc3339("2025-01-01T00:00:00Z")
.unwrap()
.timestamp();
-- MySQL / MariaDB
SELECT UNIX_TIMESTAMP();
-- PostgreSQL
SELECT EXTRACT(EPOCH FROM NOW())::bigint;
-- SQLite
SELECT strftime('%s', 'now');
-- MySQL / MariaDB
SELECT FROM_UNIXTIME(1735689600);
-- PostgreSQL
SELECT to_timestamp(1735689600) AT TIME ZONE 'UTC';
-- SQLite
SELECT datetime(1735689600, 'unixepoch');
-- 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');