

La plupart des dates doivent être calculées en fonction de règles. Suivant le produit utilisé, le calcul de la date peut être réalisé dynamiquement au moment du calcul de la planification à partir d’un calendrier prédéfini. Lorsque cela n’est pas possible, les calculs doivent être réalisés par avance afin de stocker les dates pour une utilisation ultérieure.
Ce document propose une norme de règle qui servira au calcul et au nom des calendriers afin de pouvoir régénérer ces derniers à partir de leur nom.
Introduction
La plupart des dates doivent être calculées en fonction de règles. Suivant le produit utilisé, le calcul de la date peut être réalisé dynamiquement au moment du calcul de la planification à partir d’un calendrier prédéfini. Lorsque cela n’est pas possible, les calculs doivent être réalisés par avance afin de stocker les dates pour une utilisation ultérieure.
Principe , Application , Nommage , Formule
Unités temporelles
Une date est composée d’élément permettant de définir un jour unique dans le calendrier. Les indications de ce document s’applique à un calendrier grégorien (normes et exemples) mais la norme s’applique sur tout type de calendrier car elle ne traite que l’écriture et non la génération. Ainsi, un 4eme jour du 3 mois à toutes les chances de correspondre à une date valide dans n’importe quel calendrier, il se nommera 4 Mars dans un calendrier grégorien et aura un autre nom et correspondra à un autre repère temporel dans un calendrier musulman ou chinois. (...)
Calendaire , Heures , Ouvrés/Fériés
Intervalles
W M Y C D X X X X W X X X M X X Y X Si calculer une date revient à la situer dans le temps, un élément primordial est de définir l’intervalle de temps dans lequel la date s’inscrit. Cet intervalle est une période définit par une unité temporelle plus grande, le tableau de droite indique les différentes unités et les périodes dans lesquelles on peut les inscrire. La position d’une unité dans une période donnée permet de situer rapidement une date périodique. Ainsi on peut définir une date mensuelle (...)
Dates , Heures , Jours ouvrés
Positionnement
L’index permet de positionner l’unité dans une période donnée. Chaque période à un intervalle propre à son unité (7 jours pour une semaine, 12 mois pour une année…).
Index , Listes , Période , Unité fixe , Jours mixtes
Regroupement
Il est courant d’utiliser des fréquences dans une même période, par exemple pour calculer des dates dont la fréquence est fixe (Ex : tous les 5 jours) mais réinitialisés à chaque période, on travaille alors par groupe d’unités. Le principe est de diviser la période en tranches d’unités puis de sélectionner les tranches à utiliser.
tous les n jours , "Mestres" , Intervalles , Résolution graphique
Décalage de date
Une date peut être calculée à partir d’une autre date en ajoutant ou en ôtant des unités temporelles. Il est ainsi possible de rajouter un certain nombre de jours, de semaine, d’année ou de siècle. Ceci s’applique sur D, W, M, A, B, h, m, s Le + et le – indiquent un ajout ou un retrait, ce qui signifie que l’on obtient respectivement une date postérieure ou une date antérieure à la date de départ. Ces symboles correspondront donc implicitement au sens futur ou passé pour le reste de la norme. Le décalage n’est possible que sur un ensemble non vide, (...)
Périodes fixes , Périodes variables , Jours ouvrés
Enchaînements
Les règles peuvent se suivrent sous certaines conditions : la règle utilise comme date de base le résultat de la règle précédente la période de la règle doit s’inscrire dans la période précédente
Base calendaire
On considérera la base calendaire comme une liste de jours fériés. Les calendriers sont indispensables pour le calcul de jour férié (inutile donc pour le calendaire). Le calendrier est indiqué au début de la règle, il n’est pas possible d’utiliser plusieurs calendriers pour une même règle.
Base de calcul , Liste de jours , Week-end
Dates spéciales
Les dates spéciales sont des dates qui ne sont pas le résultat d’un calcul chronoogique ou dont le calcul chronologique est trop complexe car il fait intervenir diverses périodes astronomiques. Les 3 périodes astronomiques (terrestre, solaire et lunaire) ont chacune une période propre, la difficulté est de les faire coïncider, sans cela elle se décalent les unes par rapport aux autres, ce qui induit des décalages. Pour éviter ces décalages, il faut procéder a des ajustements ou à des changements plus radicaux. Les calendriers actuels sont l’aboutissement de ces divers (...)
Dates et heures fixes , Appel de fonctions
Opérations
Des opérations peuvent être effectuées sur les règles afin de déduire une nouvelle liste des dates. Les opérations respectent l’algèbre de boole (Pour plus d’information : http://fr.wikipedia.org/wiki/Alg%C3...). Chaque opération s’applique sur la règle précédente, on précise donc = dans l’opérateur afin de signifier explicitement que l’opération s’applique sur la liste elle-même et sur la suivante : règle1 op= règle2 Le symbole de négation conserve sa fonction et peut être associé à chaque opérateur, de la manière suivante : règle1 op ! règle2 (...)
Négation (!) , Fonctions logiques
Application
Contexte , Optimisation , Dates "à la volée" et Calendrier
Calendriers
On utilise généralement le calendrier grégorien, tous les exemples sont fournis avec ce type de calendrier. Pourtant la norme n’est pas lié à un calendrier particulier car on estime qu’il fait simplement partie du contexte.
Calendrier grégorien , Calendrier musulman
Jours fériés
Le calcul des jours fériés s’appuient sur la liste des jours à supprimer, il est donc nécessaire de savoir calculer cette liste en utilisant le même système de codage.



