Ir para o conteúdo
Data e hora

Gerador de datas recorrentes

Transforme uma data de início e uma regra de recorrência na lista completa e ordenada de datas — diária, semanal, mensal ou anual, com padrões do enésimo e do último dia da semana. Veja a RRULE equivalente e imprima ou compartilhe o cronograma.

Calculadora

semanas
Nestes dias da semana

Deixe vazio para usar o dia de início.

Termina

Até 500 datas. Datas inválidas (ex.: dia 31 em um mês de 30 dias, ou 29 de fevereiro em ano não bissexto) são ignoradas conforme a RFC 5545.

Cronograma

Toda semana · —

Escolha uma data de início e uma regra de recorrência para ver o cronograma completo.
Uma ferramenta de referência e planejamento — confirme datas, números e requisitos oficiais importantes antes de confiar neles.

Sobre esta calculadora

Este gerador expande uma data de início e uma regra de recorrência na lista completa e ordenada de datas que ela produz, exibindo essa lista como um cronograma que você pode imprimir ou compartilhar. O modelo de regra segue o padrão RRULE do iCalendar (RFC 5545): uma frequência (diária, semanal, mensal ou anual), um intervalo N ("a cada N unidades"), uma seleção opcional de dias da semana para regras semanais, um padrão mensal (o mesmo dia do mês, um "enésimo dia da semana" como a 3ª sexta-feira, ou o último dia da semana) e uma condição de término — após um número de ocorrências ou até uma data de fim inclusive. Cada data é exibida com seu dia da semana e no formato ISO 8601 (YYYY-MM-DD), acompanhada da cadeia RRULE equivalente que você pode inserir em um aplicativo de calendário.

Como ler seus resultados

O cabeçalho mostra o número de datas que a regra produz, com a primeira data, a última data e o intervalo em dias. Abaixo, o cronograma lista cada ocorrência em ordem — sua posição, dia da semana e data ISO — e o gráfico "Ocorrências por mês" mostra como as datas se distribuem no calendário. A linha RRULE cinza é a mesma regra escrita em sintaxe RFC 5545 (por exemplo RRULE:FREQ=MONTHLY;BYDAY=3FR;COUNT=12 para "a 3ª sexta-feira de cada mês, doze vezes"). As datas são calculadas em UTC para que a lista nunca se desvie um dia por uma mudança de horário, e a série é limitada a 500 datas — se uma regra geraria mais, você verá as primeiras 500 com uma nota.

Como é calculado

O motor lê a data de início em UTC (Date.UTC) para que nenhuma transição de horário de verão possa mover um dia. Para regras diárias, mensais e anuais, percorre um índice de ocorrência i = 0, 1, 2 … e constrói datas candidatas: diário adiciona i × intervalo dias; mensal avança i × intervalo meses e mantém o dia do mês de início (pulando meses que não o têm), resolve o enésimo dia da semana ou resolve o último dia da semana; anual avança i × intervalo anos sobre o mês e dia de início (pulando 29 de fevereiro em anos comuns). Regras semanais são ancoradas na segunda-feira da semana de início e avançam de intervalo em intervalo semanas, emitindo cada dia da semana selecionado. Qualquer candidato anterior à data de início é ignorado; qualquer dia de calendário inexistente é ignorado; a geração para no número solicitado, na data UNTIL inclusiva ou no limite de 500 datas. O resultado também inclui as datas agrupadas por mês calendário e a cadeia RRULE RFC 5545 equivalente. O cálculo é uma função pura sem acesso ao relógio ou à rede.

Exemplo prático

Defina a data de início como 1º de janeiro de 2026, escolha Mensal, o padrão "enésimo dia da semana", a 3ª sexta-feira, e termine após 3 ocorrências.

O gerador retorna 2026-01-16, 2026-02-20 e 2026-03-20 — a 3ª sexta-feira de cada mês — e a linha RRULE indica RRULE:FREQ=MONTHLY;BYDAY=3FR;COUNT=3. Como apenas datas na data de início ou posteriores são emitidas, a 3ª sexta-feira de janeiro (o dia 16) é a primeira entrada.

Perguntas frequentes

Para que serve a cadeia RRULE?

RRULE é a sintaxe de regra de recorrência da RFC 5545, o padrão iCalendar que alimenta o Google Calendar, Apple Calendar, Outlook e a maioria das ferramentas de agendamento. O gerador escreve sua regra em uma única linha RRULE (FREQ, INTERVAL, BYDAY, COUNT ou UNTIL) para que você possa colá-la em um evento de calendário ou arquivo .ics e reproduzir exatamente a mesma série.

Como são tratadas as datas impossíveis como o dia 31 ou 29 de fevereiro?

Elas são ignoradas, nunca adiantadas — exatamente como especifica a RFC 5545. Uma regra mensal de "mesmo dia" iniciando no dia 31 só dispara em meses que têm um dia 31 (portanto, fevereiro, abril, junho, setembro e novembro são pulados). Uma regra anual no dia 29 de fevereiro só ocorre em anos bissextos. O gerador nunca desloca silenciosamente uma data ausente para o dia 1 ou o dia 28.

Em que isso difere do localizador do enésimo dia da semana do mês?

O localizador de enésimo dia responde a uma única pergunta — qual é a data da, por exemplo, 3ª quinta-feira de um mês. Este gerador emite toda a série recorrente: a 3ª quinta-feira de cada mês para tantas ocorrências (ou até qualquer data de fim) que você solicitar, mais a RRULE equivalente e um cronograma imprimível.

Há um limite de quantas datas ele gera?

Sim — a série é estritamente limitada a 500 datas. Se você escolher "até uma data" e a regra produziria mais de 500 ocorrências, o gerador retorna as primeiras 500 e sinaliza que a regra continua além do intervalo exibido. A contagem por ocorrências ("após N") também é limitada a 500.

Em qual fuso horário estão as datas?

As datas são datas de calendário sem hora do dia ou fuso horário — são calculadas em UTC para que a aritmética seja estável. Uma regra semanal com vários dias da semana é ancorada na segunda-feira da semana da data de início (o início de semana padrão da RFC 5545), e apenas datas a partir da sua data de início aparecem na lista.

Cenários populares

Cenários populares

Fontes

Revisado pela equipe do YouCalc · Última revisão

Notou algo na tradução, no cálculo, ou quer fazer uma sugestão? Conte para a gente.

Mais calculadoras como esta. Escolha a próxima.