Jeu 31/01/2013 - Actualités

Xavier
Administrateur du site
Messages : 817
Enregistré le : mer. 22 juin 2011 18:25

Jeu 31/01/2013 - Actualités

Message non lu par Xavier »

Jours fériés


L'onglet Jours fériés du Calendrier XT3 a été porté sous XT4.

Les jours fériés de Bulgarie vont être listés, maintenant que la détermination du jour de la Pâques orthodoxe a été résolue :
  • La plupart des algorithmes trouvés sur Internet calculent en fait la date de la Pâques catholique selon le calendrier Julien : Wiki ou autres.
  • La véritable méthode de calcul est disponible ici mais je n'ai pas eu le courage de la convertir en algorithme.
  • Il a donc été envisagé de stocker une table avec les dates récupérées ici.
  • Par la suite, un algorithme donnant le nombre de jours entre le 21 mars et la date de Pâques orthodoxe a été implémenté, ses résultats étaient corrects.
  • Finalement, une dernière recherche a permis de trouver LA formule. La date résultante étant dans le calendrier Julien, un rajout de 13 jours (entre 1900 et 2099) et 14 jours (pour 2100, année maximale du Calendrier XT4) permet de passer au calendrier Grégorien et donne des dates qui correspondent aux tables trouvées :

    Code : Tout sélectionner

    //------------------------------------------------------------------------------
    // XSD_GetOrientalEaster : renvoie le jour de Pâques orthodoxe
    //------------------------------------------------------------------------------
    function XSD_GetOrientalEaster(Year: Integer): TDate;
    var
    	G, I, J, L, Month, Day: Integer;
    begin
    	// Calcul de la date en calendrier Julien
    	G := Year mod 19;
    	I := ((19 * G) + 15) mod 30;
    	J := (Year + (Year div 4) + I) mod 7;
    	L := I - J;
    	Month := 3 + ((L + 40) div 44);
    	Day := L + 28 - (31 * (Month div 4));
    	Result := EncodeDate(Year, Month, Day);
    
    	// Passage au calendrier Grégorien
    	if	Year < 2100
    	then	Result := Result + 13
    	else	Result := Result + 14;
    end;
    
Xavier
Administrateur du site
Messages : 817
Enregistré le : mer. 22 juin 2011 18:25

Jeu 31/01/2013 - Actualités

Message non lu par Xavier »

Jours fériés


Un nouveau système de gestion des jours fériés a été implémenté.
La totalité des constantes (dates et libellés des jours fériés par pays) et des services ont été extraits des unités du Noyau et des Services et réécrits dans l'Agenda qui s'occupe donc de tout.

Une option permet désormais de paramétrer le pays de l'Agenda, pour le moment parmi France et Bulgarie. Cette option impacte les pages Calendrier, Jours fériés et Calculs.

La page Jours fériés est capable de détecter les jours doublement fériés et les indique :
1.png
2.png
Rajouter les jours fériés de nouveaux pays sera maintenant facile.
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
Denis
Messages : 180
Enregistré le : jeu. 23 juin 2011 09:21

Re: Jeu 31/01/2013 - Actualités

Message non lu par Denis »

tu te donnes beaucoup de mal pour gérer les bulgares...T'as envie/tu envisages de t'expatrier bientot??? LOL
Répondre