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

FormatoEjemploLongitudCaso de Uso
Unix Segundos170411040010 dígitosSistemas legacy, APIs
Unix Milisegundos170411040000013 dígitosJavaScript, Java, APIs modernas
Unix Microsegundos170411040000000016 dígitosLogging alta precisión
Unix Nanosegundos170411040000000000019 dígitosMonitoreo de rendimiento
ISO 8601 (UTC)2024-01-01T12:00:00ZVariableEstándar internacional
ISO 8601 (Zona)2024-01-01T12:00:00+00:00VariableDatos con zona horaria
RFC 33392024-01-01T12:00:00.000ZVariableTimestamps de internet
RFC 2822Mon, 01 Jan 2024 12:00:00 +0000VariableHeaders de email
SQL DATETIME2024-01-01 12:00:0019 charsAlmacenamiento 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 - Separador
  • 12: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

DeAFórmula
SegundosMilisegundoss * 1000
MilisegundosSegundosms / 1000
SegundosMicrosegundoss * 1,000,000
SegundosNanosegundoss * 1,000,000,000

Herramientas Relacionadas