Utilisez une date de départ, un sens et quatre décalages entiers. Le calculateur applique d’abord la partie années/mois avec une arithmétique grégorienne stricte, clamp les dates de fin de mois quand le mois cible est plus court, puis ajoute les semaines et les jours comme pas exacts. La réponse principale est la date finale, avec le jour de la semaine et le décalage net en jours calendaires comme vérifications rapides.
Décalage calendaire grégorien étape par étape :
- Lire la date de départ comme une date ISO exacte.
- Convertir le sens en signe : ajouter est positif, soustraire est négatif.
- Appliquer d’abord les années et les mois signés en se déplaçant vers l’année et le mois cibles tout en gardant comme objectif le jour du mois d’origine.
- Si le mois cible ne contient pas ce jour, clamp au dernier jour valide de ce mois. C’est pourquoi
2025-01-31 + 1 mois = 2025-02-28 et 2024-02-29 + 1 an = 2025-02-28.
- Convertir les semaines et les jours en incrément exact avec exactDayDelta=7w+d et l’appliquer après l’étape années/mois avec clamp.
- Déduire le jour final de la semaine à partir de la date obtenue et le décalage net à partir de la distance entre les dates de départ et finale en jours UTC.