# Generador de fechas recurrentes

> Genera la lista completa de fechas a partir de una regla de recurrencia — diaria, semanal, mensual o anual — con la RRULE equivalente y un horario imprimible.

- **Category:** Fecha y hora
- **Interactive calculator:** https://youcalc.com/es/date-time/recurring-date-generator/
- **Price:** Free, no sign-up required

## Overview

Este generador expande una fecha de inicio y una regla de recurrencia en la lista completa y ordenada de fechas que produce, y luego muestra esa lista como un horario que puedes imprimir o compartir. El modelo de regla sigue el estándar RRULE de iCalendar (RFC 5545): una frecuencia (diaria, semanal, mensual o anual), un intervalo N ("cada N unidades"), una selección opcional de días de la semana para reglas semanales, un patrón mensual (el mismo día del mes, un "enésimo día de la semana" como el 3er viernes, o el último día de la semana) y una condición de fin — después de un número de ocurrencias o hasta una fecha de fin inclusive. Cada fecha se muestra con su día de la semana y en formato ISO 8601 (YYYY-MM-DD), junto con la cadena RRULE equivalente que puedes insertar en una aplicación de calendario.

## How to read your result

El encabezado indica el número de fechas que produce la regla, con la primera fecha, la última fecha y el rango en días. A continuación, el horario lista cada ocurrencia en orden — su posición, día de la semana y fecha ISO — y el gráfico "Ocurrencias por mes" muestra cómo se agrupan las fechas en el calendario. La línea RRULE gris es la misma regla escrita en sintaxis RFC 5545 (por ejemplo RRULE:FREQ=MONTHLY;BYDAY=3FR;COUNT=12 para "el 3er viernes de cada mes, doce veces"). Las fechas se calculan en UTC para que la lista nunca se desvíe un día por un cambio de horario, y la serie tiene un límite de 500 fechas — si una regla generaría más, verás las primeras 500 con una nota.

## Method

El motor lee la fecha de inicio en UTC (Date.UTC) para que ningún cambio de horario pueda desplazar un día. Para las reglas diarias, mensuales y anuales, recorre un índice de ocurrencia i = 0, 1, 2 … y construye fechas candidatas: diario suma i × intervalo días; mensual avanza i × intervalo meses y conserva el día del mes de inicio (omitiendo los meses que no lo tienen), resuelve el enésimo día de la semana o resuelve el último día de la semana; anual avanza i × intervalo años sobre el mes y día de inicio (omitiendo el 29 de febrero en años no bisiestos). Las reglas semanales se anclan al lunes de la semana de inicio y avanzan de intervalo en intervalo semanas, emitiendo cada día de la semana seleccionado. Cualquier candidato anterior a la fecha de inicio se omite; cualquier día de calendario inexistente se omite; la generación se detiene al contar solicitado, en la fecha UNTIL inclusive o en el límite de 500 fechas. El resultado también incluye las fechas agrupadas por mes calendario y la cadena RRULE RFC 5545 equivalente. El cálculo es una función pura sin acceso al reloj ni a la red.

## Example

- **Setup:** Establece la fecha de inicio en 1 de enero de 2026, elige Mensual, el patrón "enésimo día de la semana", el 3er viernes, y termina después de 3 ocurrencias.
- **Result:** El generador devuelve 2026-01-16, 2026-02-20 y 2026-03-20 — el 3er viernes de cada mes — y la línea RRULE indica RRULE:FREQ=MONTHLY;BYDAY=3FR;COUNT=3. Como solo se emiten fechas en la fecha de inicio o posteriores, el 3er viernes de enero (el 16) es la primera entrada.

## Frequently asked questions

### ¿Para qué sirve la cadena RRULE?

RRULE es la sintaxis de reglas de recurrencia de la RFC 5545, el estándar iCalendar que impulsa Google Calendar, Apple Calendar, Outlook y la mayoría de las herramientas de programación. El generador escribe tu regla en una sola línea RRULE (FREQ, INTERVAL, BYDAY, COUNT o UNTIL) para que puedas pegarla en un evento de calendario o un archivo .ics y reproducir exactamente la misma serie.

### ¿Cómo se manejan las fechas imposibles como el día 31 o el 29 de febrero?

Se omiten, nunca se desplazan hacia adelante — exactamente como especifica la RFC 5545. Una regla mensual de "mismo día" que comience el 31 solo se activa en los meses que tienen un día 31 (por lo que se omiten febrero, abril, junio, septiembre y noviembre). Una regla anual el 29 de febrero solo ocurre en años bisiestos. El generador nunca desplaza silenciosamente una fecha faltante al día 1 o al 28.

### ¿En qué se diferencia del buscador de enésimo día de la semana del mes?

El buscador de enésimo día responde una sola pregunta — qué fecha es, por ejemplo, el 3er jueves de un mes. Este generador emite toda la serie recurrente: el 3er jueves de cada mes durante tantas ocurrencias (o hasta la fecha de fin) que solicites, más la RRULE equivalente y un horario imprimible.

### ¿Hay un límite en cuántas fechas genera?

Sí — la serie tiene un límite estricto de 500 fechas. Si eliges "hasta una fecha" y la regla produciría más de 500 ocurrencias, el generador devuelve las primeras 500 e indica que la regla continúa más allá del rango mostrado. El conteo por ocurrencias ("después de N") también está limitado a 500.

### ¿En qué zona horaria están las fechas?

Las fechas son fechas de calendario sin hora del día ni zona horaria — se calculan en UTC para que la aritmética sea estable. Una regla semanal con varios días de la semana está anclada al lunes de la semana de la fecha de inicio (el inicio de semana predeterminado de RFC 5545), y solo aparecen en la lista las fechas a partir de tu fecha de inicio.

## Related calculators

- [Calculadora del Día de la Semana N del Mes](https://youcalc.com/es/date-time/nth-weekday-finder/)
- [Planificador de fechas límite](https://youcalc.com/es/date-time/deadline-planner/)
- [Calculadora de turnos rotativos (4-4, Panamá)](https://youcalc.com/es/date-time/shift-pattern-calculator/)
- [Calculadora de horarios: generador semanal gratis](https://youcalc.com/es/date-time/timetable-calculator/)

## Sources

- https://datatracker.ietf.org/doc/html/rfc5545
- https://en.wikipedia.org/wiki/ISO_8601

---

Interactive version: https://youcalc.com/es/date-time/recurring-date-generator/ · From YouCalc — https://youcalc.com
