Timestamps do Discord: sintaxe, estilos e exemplos
Um timestamp do Discord é um Unix time em segundos mais uma letra de estilo, e cada leitor o vê no próprio fuso horário e no formato do seu idioma.
Escrever "o evento começa às 20h" em um servidor com membros em vários continentes é confusão garantida. O Discord resolve isso com uma pequena marcação: você escreve o momento como um timestamp Unix dentro de <t:...>, e o aplicativo de cada leitor mostra esse momento convertido para o fuso horário dele e formatado de acordo com o idioma e a região configurados. Você digita um único valor; todo mundo vê a hora local certa.
A sintaxe
Um timestamp tem duas formas:
<t:TIMESTAMP>
<t:TIMESTAMP:STYLE>
TIMESTAMP é o Unix time: o número de segundos desde 1º de janeiro de 1970 em UTC, como 1790892000. STYLE é uma única letra que escolhe o formato. Se você a omitir, o Discord usa f, então <t:1790892000> e <t:1790892000:f> aparecem do mesmo jeito. A letra diferencia maiúsculas de minúsculas: d e D são estilos diferentes.
Todos os estilos de timestamp
A documentação para desenvolvedores do Discord lista nove estilos. Os nomes e os exemplos de saída abaixo são os que aparecem lá, em inglês. Muitos guias antigos listam só sete estilos e deixam de fora s e S.
| Marcação | Nome na documentação do Discord | O que mostra | Exemplo da documentação |
|---|---|---|---|
<t:TIMESTAMP:t> | Short Time | Horas e minutos | 16:20 |
<t:TIMESTAMP:T> | Medium Time | Horas, minutos e segundos | 16:20:30 |
<t:TIMESTAMP:d> | Short Date | Data numérica | 20/04/2021 |
<t:TIMESTAMP:D> | Long Date | Data com o mês por extenso | April 20, 2021 |
<t:TIMESTAMP:f> | Long Date, Short Time (padrão) | Data longa com horas e minutos | April 20, 2021 at 16:20 |
<t:TIMESTAMP:F> | Full Date, Short Time | Acrescenta o dia da semana | Tuesday, April 20, 2021 at 16:20 |
<t:TIMESTAMP:s> | Short Date, Short Time | Data numérica com horas e minutos | 20/04/2021, 16:20 |
<t:TIMESTAMP:S> | Short Date, Medium Time | Data numérica com hora e segundos | 20/04/2021, 16:20:30 |
<t:TIMESTAMP:R> | Relative Time | Distância em relação a agora | 4 years ago |
Os exemplos descrevem um padrão, não o texto exato que cada leitor vê. O Discord informa que os timestamps são exibidos no fuso horário e na localidade (idioma e região) do usuário, então a ordem de dia e mês, os separadores, os nomes dos meses e o relógio de 12 ou 24 horas variam de leitor para leitor. O R é calculado no momento em que a mensagem é vista, o que faz dele o estilo certo para contagens regressivas e prazos: um horário futuro aparece como algo do tipo "em 3 horas".
Um número, todos os fusos horários
Um timestamp Unix identifica um único instante, não uma hora de relógio. 1790892000 corresponde a 1º de outubro de 2026 às 22:00 UTC, e um timestamp feito com esse número mostra a cada leitor a sua própria hora local:
| Leitor em | Hora local exibida |
|---|---|
| Nova York | 18:00 de 1º de outubro (6:00 PM) |
| Londres | 23:00 de 1º de outubro |
| Calcutá | 03:30 de 2 de outubro |
| Tóquio | 07:00 de 2 de outubro |
A conversão do lado do leitor é automática. O único ponto em que os erros aparecem é do seu lado: transformar "18h em Nova York" no número certo logo de início.
Como obter o timestamp Unix
O caminho mais rápido é o Conversor de Timestamp Unix. Se o evento está em um horário do seu próprio aparelho, abra a aba Discord, escolha a data e a hora ou toque em Usar hora atual, e a tabela entrega todos os estilos de uma vez: o Estilo, o <t:...> já pronto na coluna Código com um botão Copiar, e uma prévia em Fica assim. Essa aba lê a hora no fuso do seu aparelho e ignora o menu Fuso horário, então, quando o evento é planejado em outro lugar, descubra o número primeiro:
- Escolha no menu Fuso horário o fuso horário em que o evento foi planejado. Ele começa no seu próprio fuso e lista as zonas IANA que o seu navegador suporta, como America/New_York.
- No painel Data → timestamp, escolha a data e a hora e clique em Converter.
- Copie o valor de Segundos, não o de Milissegundos, e cole dentro de
<t:...:F>ou do estilo que preferir. - Para conferir, cole o número no painel Timestamp → data e leia de volta em UTC, em qualquer fuso e como tempo relativo.
A barra de ferramentas também mostra o timestamp Unix atual com um botão Copiar, o que ajuda em mensagens do tipo "publicado em" ou "começando agora". Para uma programação inteira, a aba Em lote aceita um timestamp ou uma data por linha, até 500, e Copiar como CSV leva a tabela para uma planilha. A aba Código escreve a conversão do timestamp na tela em oito linguagens, sem PowerShell entre elas. Em código, todos estes trechos produziram 1790892000 para 1º de outubro de 2026 às 18h em UTC−4 (horário de verão de Nova York):
// JavaScript
Math.floor(Date.now() / 1000) // agora, em segundos
Date.parse('2026-10-01T18:00:00-04:00') / 1000 // 1790892000
# Python
import time
from datetime import datetime, timedelta, timezone
int(time.time()) # agora, em 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()
Um deslocamento fixo como -04:00 só vale para parte do ano. Nova York passa para UTC−5 em 1º de novembro de 2026, então, para datas depois disso, a mesma hora de relógio precisa de -05:00. Converter com um fuso nomeado evita o problema: é o que faz o menu de fusos do conversor, e também zoneinfo.ZoneInfo("America/New_York") em Python. No Windows, o Python precisa do pacote tzdata para isso; sem ele, recebemos ZoneInfoNotFoundError.
Exemplos para colar
A manutenção começa <t:1790892000:F> (<t:1790892000:R>).
O check-in do torneio fecha às <t:1790892000:t>.
As inscrições ficam abertas até <t:1790892000:D>.
Combinar a data completa com o tempo relativo, como na primeira linha, dá ao leitor tanto o momento exato quanto quanto tempo ainda falta. Para mostrar a própria marcação em vez de uma data renderizada, por exemplo ao explicar o recurso para outros membros, coloque-a entre crases para que o Discord a exiba como código.
Erros comuns
- Milissegundos em vez de segundos. O
Date.now()do JavaScript retorna milissegundos, hoje com 13 dígitos; o Unix time em segundos tem 10 dígitos até o ano 2286. Lido como segundos,1790892000000é uma data a mais de 50.000 anos de distância. Divida por 1000 e arredonde para baixo. - Interpretar uma data sem fuso horário. Em JavaScript,
new Date('2026-10-01T18:00')usa o fuso da máquina que roda o código, que em um bot hospedado costuma ser UTC e não o seu, enquanto uma string só com a data, como'2026-10-01', é lida como meia-noite UTC. Inclua sempre um deslocamento ou converta com um fuso nomeado. - Converter no fuso errado. Se você planeja um evento para as 20:00 em Berlim, mas converte 20:00 no seu próprio fuso, todos os leitores veem um horário deslocado. Ajuste o fuso do conversor para o lugar onde o evento foi planejado.
- Confiar no
Get-Date -UFormat %sdo PowerShell. No Windows PowerShell 5.1, em uma máquina em UTC+4, ele retornou um valor quatro horas errado e com fração decimal. Use[DateTimeOffset]::UtcNow.ToUnixTimeSeconds()no lugar. - Trocar as letras de estilo.
feF,teT,deDeseSsão todos diferentes, então confira a caixa da letra quando a saída parecer mais longa ou mais curta do que o esperado.