Una regla de recurrencia es un programa, no una fecha
RRULE:FREQ=MONTHLY;BYDAY=-1FR;COUNT=12 no contiene ni una sola fecha. Contiene instrucciones para producirlas, y la única forma honesta de responder a cuándo ocurre esto en realidad es ejecutarlas. Esta herramienta las ejecuta.
Qué se aplica
Todo lo del RFC 5545 §3.3.10: FREQ, INTERVAL, COUNT, UNTIL, WKST, las nueve partes BY* incluidos los ordinales negativos como -1FR («el último viernes»), y BYSETPOS. Sobre la regla, EXDATE quita fechas y RDATE las añade, y cada fila indica de cuál de las dos procede, porque una fecha que solo existe porque alguien la añadió a mano es otra cosa que una que generó la regla.
Por qué importa la columna del desfase UTC
Una reunión semanal de las 09:00 sigue siendo a las 09:00 cuando cambia la hora. El instante se mueve una hora; la lectura del reloj de pared no. Eso es lo que exige el RFC 5545, y es lo que un ingenuo «sumar 7 × 86 400 000 milisegundos» hace mal dos veces al año. Por eso cada aparición muestra las dos lecturas juntas: la hora local y el instante UTC real con el desfase que lo produjo. Cuando dos apariciones tienen desfases distintos, la herramienta lo dice de forma explícita.
Las zonas se resuelven con la base IANA de tu navegador cuando el TZID es un nombre de zona real, y con el bloque VTIMEZONE del archivo en caso contrario, que es como siguen resolviéndose correctamente los nombres inventados por Microsoft como Romance Standard Time. Cuando ninguna de las dos funciona, el desfase se muestra como desconocido en lugar de darse por supuesto como UTC.
Límites, dichos con claridad
Una regla infinita se expande hasta el tope que fijes y el resultado se marca como truncado. Una regla con restricciones imposibles — FREQ=YEARLY;BYMONTH=2;BYMONTHDAY=30 es legal y no puede coincidir con ningún día real — no produce nada, y la herramienta dice por qué en lugar de mostrar una tabla vacía.
Privacidad
Todo se ejecuta en tu navegador. No se sube ningún archivo de calendario y nada de aquí contacta con la red.
Tiny Online Tools







