O que o gerador de datas aleatórias faz
Ele sorteia datas do calendário dentro de um intervalo que você define. Você pode tirar uma única data, como um dia surpresa para um evento da equipe, ou centenas de datas para preencher um banco de dados de teste ou uma planilha. Todos os dias do intervalo têm a mesma chance, e tanto o primeiro quanto o último dia podem sair.
As datas são criadas no seu navegador e nunca são enviadas para lugar nenhum.
Como usar
- Escolha o primeiro dia permitido em De e o último em Até. O padrão cobre todo o ano de 2026.
- Defina a Quantidade de datas, até 1.000.
- Escolha um Formato:
2026-10-04(ISO 8601, o melhor para ordenar e para bancos de dados)4 de outubro de 2026domingo, 4 de outubro de 202610/04/2026 (EUA), com o mês primeiro04/10/2026 (Brasil, Europa), com o dia primeiro, que é o formato usado no Brasil e em Portugal
- Escolha uma Ordem: “Como saíram”, “Mais antigas primeiro” ou “Mais recentes primeiro”.
- Em Opções, ligue Sem repetições, Só dias úteis ou Incluir horário, conforme precisar.
- Escolha como Separar resultados com e clique em Gerar datas.
Uma única data aparece em letras grandes em Resultado. Uma lista aparece na caixa logo abaixo. Clique em Copiar para copiar as datas. Resultados recentes guarda os dez últimos sorteios até você sair da página ou clicar em Limpar.
Os dois formatos por extenso escrevem os nomes dos meses e dos dias da semana em português, com a API Intl do navegador (setembro, domingo). Para datas só com números, escolha o formato com o dia primeiro (DD/MM/AAAA) ou o ISO.
Exemplos
Todos os exemplos abaixo são resultados reais do código que roda nesta página.
| Configuração | Uma execução deu |
|---|---|
| Todo o ano de 2026, 1 data, ISO | 2026-05-30 |
| Todo o ano de 2026, 3 datas, mais antigas primeiro, formato por extenso | 7 de março de 2026, 2 de maio de 2026, 21 de dezembro de 2026 |
| Todo o ano de 2026, 3 datas, só dias úteis, formato com dia da semana | quinta-feira, 30 de julho de 2026; terça-feira, 1 de dezembro de 2026; quinta-feira, 20 de agosto de 2026 |
| Todo o ano de 2026, 2 datas, com horário, ISO | 2026-01-16T05:45:16, 2026-11-06T22:01:43 |
| Outubro de 2026, 2 datas, com horário, formato por extenso | 5 de outubro de 2026 12:39:44, 31 de outubro de 2026 21:30:10 |
| Todo o ano de 2026, 2 datas, formato dos EUA | 08/12/2026, 02/01/2026 |
| Todo o ano de 2026, 2 datas, formato do Brasil e da Europa | 16/10/2026, 11/06/2026 |
| De 1990 a 2005, 3 datas, mais antigas primeiro | 1992-05-02, 1999-11-06, 2003-01-03 |
| Outubro de 2026, 4 datas, só dias úteis, sem repetições, mais antigas primeiro | quinta-feira, 1 de outubro de 2026; quarta-feira, 14 de outubro de 2026; terça-feira, 27 de outubro de 2026; quinta-feira, 29 de outubro de 2026 |
Repare nas linhas dos EUA e do Brasil. 08/12/2026 é 12 de agosto no estilo americano, mas 08/12/2026 escrito por alguém no Brasil ou no Reino Unido significa 8 de dezembro. Se a data vai ser lida por pessoas ou programas de países diferentes, o formato ISO evita essa confusão.
Como funciona
A ferramenta transforma as duas datas em números de dias, contando a partir de 1º de janeiro de 1970. Depois sorteia um número inteiro entre esses dois números e o transforma de volta em uma data. Trabalhar com dias inteiros faz com que todas as datas tenham a mesma chance, incluindo o 29 de fevereiro dos anos bissextos, e os meses curtos não ganham peso extra.
O número aleatório vem de crypto.getRandomValues, o gerador seguro embutido no seu navegador. Ele é mapeado para o intervalo com amostragem por rejeição: qualquer sorteio que deixaria alguns dias um pouco mais prováveis que outros é descartado e refeito. Isso elimina o pequeno viés que um cálculo simples com resto da divisão causaria.
Só dias úteis primeiro lista todas as segundas a sextas do intervalo e depois sorteia dessa lista. Incluir horário acrescenta um segundo aleatório do dia, de 00:00:00 a 23:59:59. Sem repetições garante que o mesmo dia nunca saia duas vezes.
Todas as datas são datas de calendário simples, sem fuso horário, então uma data não muda de dia quando você cola em outro lugar.
Usos
- Dados de teste. Preencha datas de pedidos, de cadastro ou de vencimento para uma demonstração ou um banco de dados.
- Amostragem. Sorteie dias aleatórios para auditar registros, conferir um log ou fazer uma inspeção por amostragem.
- Planejamento. Escolha uma data surpresa para um almoço da equipe ou um dia aleatório para um simulado de incêndio.
- Ensino. Dê datas aleatórias aos alunos e pergunte em que dia da semana elas caem. Use o formato com dia da semana para conferir as respostas.
- Jogos e propostas de redação. Sorteie uma data da história e escreva sobre o que pode ter acontecido naquele dia.
Dicas e limites
- Os feriados não são pulados. Só dias úteis remove sábados e domingos, mas não os feriados nacionais ou municipais.
- Datas únicas demais. Se Sem repetições estiver ligado e você pedir mais datas do que o intervalo tem, a ferramenta mostra uma mensagem em vez de uma lista curta. Com Só dias úteis, ela devolve todos os dias úteis que conseguir e avisa.
- Os horários são aleatórios, não reais. O horário é sorteado de forma uniforme nas 24 horas, então a madrugada tem a mesma chance que o horário comercial.
- Planilhas. O Excel e o Planilhas Google leem datas ISO com segurança. Outros formatos podem ser lidos com dia e mês trocados, dependendo das configurações regionais do sistema. Em um computador configurado para português do Brasil, o formato com o dia primeiro também é lido corretamente.
- Precisa de um ID com horário? Um UUID versão 7 do gerador de UUID traz o próprio momento de criação.
Outras formas de gerar datas aleatórias
Excel ou Planilhas Google. =ALEATÓRIOENTRE(DATA(2026;1;1); DATA(2026;12;31)) devolve o número de série de uma data aleatória (em inglês, =RANDBETWEEN(DATE(2026,1,1), DATE(2026,12,31))). Formate a célula como data para vê-la. Para ter só dias úteis, dá para envolver com DIATRABALHO (WORKDAY), mas isso empurra os sorteios de fim de semana para o próximo dia útil, o que dá mais chance às segundas-feiras.
Python. Sorteie um número de dias com random.randint(0, (end - start).days) e some a start como um timedelta.
SQL. No PostgreSQL, date '2026-01-01' + floor(random() * 365)::int dá um dia aleatório de 2026.
Ferramentas relacionadas
Para sortear um mês em vez de uma data completa, use o gerador de mês aleatório. Para números aleatórios simples, use o sorteador de números.