Une règle de récurrence est un programme, pas une date
RRULE:FREQ=MONTHLY;BYDAY=-1FR;COUNT=12 ne contient pas une seule date. Elle contient des instructions pour les produire, et la seule façon honnête de répondre à quand cela a-t-il vraiment lieu est de les exécuter. Cet outil les exécute.
Ce qui est appliqué
Toute la section §3.3.10 du RFC 5545 : FREQ, INTERVAL, COUNT, UNTIL, WKST, les neuf parties BY* y compris les ordinaux négatifs comme -1FR (« le dernier vendredi »), et BYSETPOS. Par-dessus la règle, EXDATE retire des dates et RDATE en ajoute — et chaque ligne indique de laquelle des deux elle provient, car une date qui n'existe que parce que quelqu'un l'a ajoutée à la main n'est pas la même chose qu'une date engendrée par la règle.
Pourquoi la colonne du décalage UTC compte
Une réunion hebdomadaire de 9 h reste à 9 h quand les horloges changent. L'instant se déplace d'une heure ; la lecture au cadran, non. C'est ce qu'exige le RFC 5545, et c'est ce qu'un naïf « ajouter 7 × 86 400 000 millisecondes » rate deux fois par an. Chaque occurrence affiche donc les deux lectures côte à côte : l'heure locale, et l'instant UTC réel avec le décalage qui l'a produit. Lorsque deux occurrences ont des décalages différents, l'outil le dit explicitement.
Les fuseaux sont résolus par la base IANA de votre navigateur quand le TZID est un vrai nom de fuseau, et sinon par le bloc VTIMEZONE du fichier — c'est ainsi que les noms inventés par Microsoft comme Romance Standard Time se résolvent encore correctement. Quand ni l'un ni l'autre ne marche, le décalage est affiché comme inconnu plutôt que supposé être UTC.
Des limites annoncées franchement
Une règle sans fin est déployée jusqu'au plafond que vous fixez, et le résultat est marqué comme tronqué. Une règle aux contraintes impossibles — FREQ=YEARLY;BYMONTH=2;BYMONTHDAY=30 est légale et ne peut correspondre à aucun jour réel — ne produit rien, et l'outil dit pourquoi au lieu d'afficher un tableau vide.
Confidentialité
Tout se passe dans votre navigateur. Aucun fichier de calendrier n'est envoyé et rien ici ne contacte le réseau.
Tiny Online Tools







