Recursos de marcas de tiempo
Hoja de Referencia de Formatos de Timestamp: Guía Rápida
Resumen
Esta hoja de referencia completa proporciona referencia rápida para todos los formatos comunes de timestamp usados en programación e intercambio de datos. Todos los ejemplos usan 1 de enero de 2024, 12:00:00 UTC como hora de referencia.
Tabla de Referencia Rápida
| Formato | Ejemplo | Longitud | Caso de Uso |
|---|---|---|---|
| Unix Segundos | 1704110400 | 10 dígitos | Sistemas legacy, APIs |
| Unix Milisegundos | 1704110400000 | 13 dígitos | JavaScript, Java, APIs modernas |
| Unix Microsegundos | 1704110400000000 | 16 dígitos | Logging alta precisión |
| Unix Nanosegundos | 1704110400000000000 | 19 dígitos | Monitoreo de rendimiento |
| ISO 8601 (UTC) | 2024-01-01T12:00:00Z | Variable | Estándar internacional |
| ISO 8601 (Zona) | 2024-01-01T12:00:00+00:00 | Variable | Datos con zona horaria |
| RFC 3339 | 2024-01-01T12:00:00.000Z | Variable | Timestamps de internet |
| RFC 2822 | Mon, 01 Jan 2024 12:00:00 +0000 | Variable | Headers de email |
| SQL DATETIME | 2024-01-01 12:00:00 | 19 chars | Almacenamiento en BD |
Formatos Unix Timestamp
Segundos (10 dígitos)
Formato: Entero representando segundos desde 1 de enero de 1970, 00:00:00 UTC
1704110400
Cuándo Usar:
- Sistemas y APIs legacy
- Eficiencia de almacenamiento (4 bytes como int32)
- Consideraciones del problema del año 2038
Ejemplos de Código:
// JavaScript
const timestamp = Math.floor(Date.now() / 1000);
// 1704110400
const fecha = new Date(timestamp * 1000);
// 2024-01-01T12:00:00.000Z
# Python
import time
timestamp = int(time.time())
# 1704110400
from datetime import datetime
fecha = datetime.fromtimestamp(timestamp)
# 2024-01-01 12:00:00
// PHP
$timestamp = time();
// 1704110400
$fecha = date('Y-m-d H:i:s', $timestamp);
// 2024-01-01 12:00:00
Milisegundos (13 dígitos)
Formato: Entero representando milisegundos desde epoch
1704110400000
Cuándo Usar:
- JavaScript (Date.now())
- Java (System.currentTimeMillis())
- APIs modernas
- Medición de rendimiento
Ejemplos de Código:
// JavaScript
const timestamp = Date.now();
// 1704110400000
const fecha = new Date(timestamp);
// 2024-01-01T12:00:00.000Z
// Java
long timestamp = System.currentTimeMillis();
// 1704110400000
Date fecha = new Date(timestamp);
# Python
import time
timestamp_ms = int(time.time() * 1000)
# 1704110400000
Formato ISO 8601
Básico (UTC)
2024-01-01T12:00:00Z
Componentes:
2024-01-01- Fecha (AAAA-MM-DD)T- Separador12:00:00- Hora (HH:MM:SS)Z- Indicador UTC (Zulu)
Con Zona Horaria
2024-01-01T12:00:00+00:00
2024-01-01T07:00:00-05:00 // Nueva York (UTC-5)
2024-01-01T21:00:00+09:00 // Tokio (UTC+9)
Con Milisegundos
2024-01-01T12:00:00.000Z
2024-01-01T12:00:00.123Z
Ejemplos de Código:
// JavaScript
const iso = new Date().toISOString();
// "2024-01-01T12:00:00.000Z"
const fecha = new Date("2024-01-01T12:00:00Z");
# Python
from datetime import datetime, timezone
iso = datetime.now(timezone.utc).isoformat()
# "2024-01-01T12:00:00+00:00"
fecha = datetime.fromisoformat("2024-01-01T12:00:00+00:00")
Formato RFC 3339
Similar a ISO 8601, pero más estricto:
2024-01-01T12:00:00Z
2024-01-01T12:00:00.000Z
2024-01-01T12:00:00+00:00
Diferencias con ISO 8601:
- Requiere formato extendido (con guiones)
- Requiere separador T
- Definido específicamente para internet
Formato RFC 2822
Mon, 01 Jan 2024 12:00:00 +0000
Cuándo Usar:
- Headers de email
- Headers HTTP
Ejemplos de Código:
// JavaScript
const fecha = new Date();
const rfc2822 = fecha.toUTCString();
// "Mon, 01 Jan 2024 12:00:00 GMT"
# Python
from email.utils import formatdate
rfc2822 = formatdate(timeval=1704110400, localtime=False)
# "Mon, 01 Jan 2024 12:00:00 -0000"
Formatos SQL
DATETIME
'2024-01-01 12:00:00'
TIMESTAMP
'2024-01-01 12:00:00'
-- Rango: 1970-01-01 a 2038-01-19 (MySQL < 8.0.28)
DATE
'2024-01-01'
TIME
'12:00:00'
Ejemplos de Código:
-- MySQL
SELECT NOW();
-- 2024-01-01 12:00:00
SELECT UNIX_TIMESTAMP();
-- 1704110400
SELECT FROM_UNIXTIME(1704110400);
-- 2024-01-01 12:00:00
-- PostgreSQL
SELECT NOW();
-- 2024-01-01 12:00:00+00
SELECT EXTRACT(EPOCH FROM NOW());
-- 1704110400
SELECT TO_TIMESTAMP(1704110400);
-- 2024-01-01 12:00:00+00
Tabla de Conversión
| De | A | Fórmula |
|---|---|---|
| Segundos | Milisegundos | s * 1000 |
| Milisegundos | Segundos | ms / 1000 |
| Segundos | Microsegundos | s * 1,000,000 |
| Segundos | Nanosegundos | s * 1,000,000,000 |