Bonjour,
En tant qu'élève-informaticien recherchant les solutions les plus économes en temps (je suis un peu feignant et je déteste écrire ce qui est déjà écrit), vous avez ces deux fonctions PHP (disponibles dans les fonctions de calendrier) qui vous permettront de gagner un temps précieux :
(doc php en français annotée(Nexen) a écrit :jdtofrench()
Convertit le nombre de jours du calendrier Julien en date du calendrier français républicain
PHP 3, PHP 4
string jdtofrench ( int juliandaycount )
jdtofrench convertit le nombre de jours du calendrier julien en date du calendrier français républicain.
a écrit :
gregoriantojd()
Convertit une date grégorienne en nombre de jours du calendrier Julien
PHP 3, PHP 4
int gregoriantojd ( int month , int day , int year )
Intervalle de validité pour le calendrier grégorien : 4714 avant JC à 9999 après JC.A.D.
Bien qu'il soit possible de manipuler des dates jusqu'en 4714 avant JC, une telle utilisation n'est pas significative. En effet, ce calendrier fut créé le 18 octobre 1582 après J.C. (ou 5 octobre 1582 en calendrier grec). Certains pays ne l'acceptèrent que bien plus tard. Par exemple, les britanniques n'y passèrent en 1752, les Russes en 1918 et les Grecs en 1923. La plupart des pays européens utilisaient le calendrier Julien avant le Grégorien.
Fonctions calendrier

Zut ! Cela ne marche que pour une certaine plage de dates : l'an 1 à 14 (du 22 septembre 1792 au 22 septembre 1806).
Exemple :
CODE print "<p>Le 8 octobre 1800 est le ".jdtofrench(gregoriantojd(10, 8, 1800))."</p>";
Résultat :
Le 8 octobre 1800 est le 1/16/9
C'est bof, mais on peut ensuite se démerder avec la fonction explode et le transtypage :
CODE tab_date = explode(jdtofrench(gregoriantojd(10, 8, 1800)));
echo tab_date['1']."<br />"; // renvoie le mois
tab_infos_cal_rev = cal_info(CAL_FRENCH); // infos sur le calendrier révolutionnaire
mois = tab_infos_cal_rev["months"];
echo mois[tab_date['1']]; // renvoie le mois sous forme littérale
Euh... comme cela se serait pas plus mal :
CODE tab_date = explode("/", jdtofrench(gregoriantojd(10, 8, 1800)));
echo "<p>Numéro du mois : ".tab_date['0']."<br />"; // renvoie le mois
tab_infos_cal_rev = cal_info(CAL_FRENCH); // infos sur le calendrier révolutionnaire
mois = tab_infos_cal_rev["months"];
echo "Nom du mois : ".mois[tab_date['0']]."</p>"; // renvoie le mois sous forme littérale
Résultat :
Numéro du mois : 1
Nom du mois : Vendemiaire
Vous avez peut-être finis maintenant :hinhin: ! Ah... non, mais je pense que je vous aurais aidé beaucoup.
Fraternellement,
Maël