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:
JAVASCRIPT1// JavaScript 2const timestamp = Math.floor(Date.now() / 1000); 3// 1704110400 4 5const fecha = new Date(timestamp * 1000); 6// 2024-01-01T12:00:00.000Z
PYTHON1# Python 2import time 3timestamp = int(time.time()) 4# 1704110400 5 6from datetime import datetime 7fecha = datetime.fromtimestamp(timestamp) 8# 2024-01-01 12:00:00
PHP1// PHP 2$timestamp = time(); 3// 1704110400 4 5$fecha = date('Y-m-d H:i:s', $timestamp); 6// 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:
JAVASCRIPT1// JavaScript 2const timestamp = Date.now(); 3// 1704110400000 4 5const fecha = new Date(timestamp); 6// 2024-01-01T12:00:00.000Z
JAVA1// Java 2long timestamp = System.currentTimeMillis(); 3// 1704110400000 4 5Date fecha = new Date(timestamp);
PYTHON1# Python 2import time 3timestamp_ms = int(time.time() * 1000) 4# 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:
JAVASCRIPT1// JavaScript 2const iso = new Date().toISOString(); 3// "2024-01-01T12:00:00.000Z" 4 5const fecha = new Date("2024-01-01T12:00:00Z");
PYTHON1# Python 2from datetime import datetime, timezone 3 4iso = datetime.now(timezone.utc).isoformat() 5# "2024-01-01T12:00:00+00:00" 6 7fecha = 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:
JAVASCRIPT1// JavaScript 2const fecha = new Date(); 3const rfc2822 = fecha.toUTCString(); 4// "Mon, 01 Jan 2024 12:00:00 GMT"
PYTHON1# Python 2from email.utils import formatdate 3rfc2822 = formatdate(timeval=1704110400, localtime=False) 4# "Mon, 01 Jan 2024 12:00:00 -0000"
Formatos SQL
DATETIME
SQL1'2024-01-01 12:00:00'
TIMESTAMP
SQL1'2024-01-01 12:00:00' 2-- Rango: 1970-01-01 a 2038-01-19 (MySQL < 8.0.28)
DATE
SQL1'2024-01-01'
TIME
SQL1'12:00:00'
Ejemplos de Código:
SQL1-- MySQL 2SELECT NOW(); 3-- 2024-01-01 12:00:00 4 5SELECT UNIX_TIMESTAMP(); 6-- 1704110400 7 8SELECT FROM_UNIXTIME(1704110400); 9-- 2024-01-01 12:00:00
SQL1-- PostgreSQL 2SELECT NOW(); 3-- 2024-01-01 12:00:00+00 4 5SELECT EXTRACT(EPOCH FROM NOW()); 6-- 1704110400 7 8SELECT TO_TIMESTAMP(1704110400); 9-- 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 |