Timestamps de Discord: sintaxis, estilos y ejemplos
Un timestamp de Discord es un tiempo Unix en segundos más una letra de estilo, y cada lector lo ve en su propia zona horaria y con su configuración regional.
Escribir «el evento empieza a las 8 de la tarde» en un servidor con miembros repartidos por varios continentes es la receta perfecta para la confusión. Discord lo resuelve con un pequeño fragmento de marcado: se escribe el momento como un timestamp Unix dentro de <t:...> y el cliente de Discord de cada lector lo muestra convertido a su zona horaria y con el formato de su configuración regional. Usted escribe un único valor; cada persona ve la hora local correcta.
La sintaxis
Un timestamp tiene dos formas:
<t:TIMESTAMP>
<t:TIMESTAMP:STYLE>
TIMESTAMP es el tiempo Unix: el número de segundos transcurridos desde el 1 de enero de 1970 UTC, por ejemplo 1790892000. STYLE es una sola letra que elige el formato. Si la omite, Discord usa f, así que <t:1790892000> y <t:1790892000:f> se muestran igual. La letra distingue entre mayúsculas y minúsculas: d y D son estilos distintos.
Todos los estilos de timestamp
La documentación para desarrolladores de Discord enumera nueve estilos. Los nombres y los ejemplos de la tabla son los que aparecen allí, en inglés. Muchas guías antiguas solo recogen siete y se dejan fuera s y S.
| Marcado | Nombre en la documentación de Discord | Qué muestra | Ejemplo de la documentación |
|---|---|---|---|
<t:TIMESTAMP:t> | Short Time | Horas y minutos | 16:20 |
<t:TIMESTAMP:T> | Medium Time | Horas, minutos y segundos | 16:20:30 |
<t:TIMESTAMP:d> | Short Date | Fecha numérica | 20/04/2021 |
<t:TIMESTAMP:D> | Long Date | Fecha con el nombre del mes | April 20, 2021 |
<t:TIMESTAMP:f> | Long Date, Short Time (predeterminado) | Fecha larga más horas y minutos | April 20, 2021 at 16:20 |
<t:TIMESTAMP:F> | Full Date, Short Time | Añade el día de la semana | Tuesday, April 20, 2021 at 16:20 |
<t:TIMESTAMP:s> | Short Date, Short Time | Fecha numérica más horas y minutos | 20/04/2021, 16:20 |
<t:TIMESTAMP:S> | Short Date, Medium Time | Fecha numérica más hora con segundos | 20/04/2021, 16:20:30 |
<t:TIMESTAMP:R> | Relative Time | Distancia respecto al momento actual | 4 years ago |
Los ejemplos describen un patrón, no el texto exacto que ve cada lector. Discord indica que los timestamps se muestran en la zona horaria y con la configuración regional del usuario, así que el orden del día y el mes, los separadores, los nombres de los meses y el reloj de 12 o 24 horas cambian de un lector a otro. R se calcula en el momento en que se ve el mensaje, lo que lo convierte en el estilo adecuado para cuentas atrás y plazos: una hora futura se lee como algo parecido a «dentro de 3 horas».
Un número, todas las zonas horarias
Un timestamp Unix identifica un único instante, no una hora de reloj. 1790892000 corresponde a las 22:00 UTC del 1 de octubre de 2026, y un timestamp creado con ese número muestra a cada lector su propia hora local:
| Lector en | Hora local que ve |
|---|---|
| Nueva York | 18:00 del 1 de octubre (6:00 p. m.) |
| Londres | 23:00 del 1 de octubre |
| Calcuta | 03:30 del 2 de octubre |
| Tokio | 07:00 del 2 de octubre |
La conversión del lado del lector es automática. Los errores solo pueden colarse del lado de usted: al convertir «las 6 de la tarde en Nueva York» en el número correcto.
Cómo obtener el timestamp Unix
La forma más rápida es el conversor de timestamp Unix. Si el evento está a una hora de su propio dispositivo, abra la pestaña Discord, elija la fecha y la hora o pulse Usar hora actual, y la tabla ofrece todos los estilos a la vez: el Estilo, el <t:...> ya montado en la columna Código con un botón Copiar, y una vista previa en Se ve así. Esa pestaña lee la hora en la zona de su dispositivo e ignora el menú Zona horaria, así que si el evento se planea en otro sitio, calcule primero el número:
- Elija en el menú Zona horaria la zona horaria en la que se planifica el evento. El menú empieza en su propia zona y enumera las zonas IANA que admite su navegador, como America/New_York.
- En el panel Fecha → timestamp, elija la fecha y la hora y pulse Convertir.
- Copie el valor Segundos, no el valor Milisegundos, y péguelo en
<t:...:F>o en el estilo que prefiera. - Para comprobarlo, pegue el número en el panel Timestamp → fecha y léalo en UTC, en cualquier zona y como tiempo relativo.
La barra superior muestra además el timestamp Unix actual con un botón Copiar, muy práctico para mensajes del tipo «publicado a las» o «empieza ahora». Para un calendario completo, la pestaña Por lotes acepta un timestamp o una fecha por línea, hasta 500, y Copiar como CSV pasa la tabla a una hoja de cálculo. La pestaña Código escribe la conversión del timestamp en pantalla en ocho lenguajes, sin PowerShell entre ellos. En código, todas estas líneas dieron 1790892000 para las 18:00 del 1 de octubre de 2026 en UTC−4 (horario de verano de Nueva York):
// JavaScript
Math.floor(Date.now() / 1000) // ahora, en segundos
Date.parse('2026-10-01T18:00:00-04:00') / 1000 // 1790892000
# Python
import time
from datetime import datetime, timedelta, timezone
int(time.time()) # ahora, en segundos
int(datetime(2026, 10, 1, 18, 0,
tzinfo=timezone(timedelta(hours=-4))).timestamp()) # 1790892000
# Linux shell (GNU date)
date +%s
date -d '2026-10-01 18:00 -0400' +%s # 1790892000
# PowerShell
[DateTimeOffset]::UtcNow.ToUnixTimeSeconds()
[DateTimeOffset]::new(2026, 10, 1, 18, 0, 0, [TimeSpan]::FromHours(-4)).ToUnixTimeSeconds()
Un desfase fijo como -04:00 solo es correcto durante una parte del año. Nueva York pasa a UTC−5 el 1 de noviembre de 2026, así que para fechas posteriores la misma hora de reloj necesita -05:00. Convertir con una zona con nombre evita el problema: es lo que hace el menú de zonas del conversor y también zoneinfo.ZoneInfo("America/New_York") en Python. En Windows, Python necesita para ello el paquete tzdata; sin él obtuvimos ZoneInfoNotFoundError.
Ejemplos para copiar y pegar
El mantenimiento empieza el <t:1790892000:F> (<t:1790892000:R>).
El check-in del torneo se cierra a las <t:1790892000:t>.
Las inscripciones están abiertas hasta el <t:1790892000:D>.
Combinar una fecha completa con un tiempo relativo, como en la primera línea, da a los lectores el momento exacto y también cuánto tiempo les queda. Para mostrar el marcado en sí en lugar de la fecha, por ejemplo al explicárselo a otros miembros, enciérrelo entre comillas invertidas (backticks) para que Discord lo muestre como código.
Errores comunes
- Milisegundos en lugar de segundos.
Date.now()de JavaScript devuelve milisegundos, que hoy son 13 dígitos; el tiempo Unix en segundos tiene 10 dígitos hasta el año 2286. Leído como segundos,1790892000000es una fecha a más de 50 000 años vista. Divida entre 1000 y redondee hacia abajo. - Interpretar una fecha sin zona horaria. En JavaScript,
new Date('2026-10-01T18:00')usa la zona horaria de la máquina que ejecuta el código, que en un bot alojado en un servidor suele ser UTC y no la suya, mientras que una cadena solo con fecha, como'2026-10-01', se interpreta como medianoche UTC. Incluya siempre un desfase o convierta con una zona con nombre. - Convertir en la zona equivocada. Si planifica un evento para las 20:00 en Berlín pero convierte las 20:00 de su propia zona, todos los lectores verán una hora desplazada. Ponga en el conversor la zona donde se planifica el evento.
- Fiarse de
Get-Date -UFormat %sde PowerShell. En Windows PowerShell 5.1, en una máquina con UTC+4, devolvió un valor desfasado cuatro horas y con parte decimal. Use[DateTimeOffset]::UtcNow.ToUnixTimeSeconds()en su lugar. - Confundir las letras de estilo.
fyF,tyT,dyD, ysySson estilos distintos, así que revise las mayúsculas y minúsculas cuando el resultado sea más largo o más corto de lo esperado.