algorithme calendrier révolutionnaire

Rien n'est hors-sujet ici, sauf si ça parle de politique

Message par gzzz » 14 Mars 2004, 23:58

Tu peux jeter un oeuil au module Perl qui fait la conversion :
http://search.cpan.org/~jforget/Date-Conve...t/French_Rev.pm

Si c'est pour inclure dans du code php, l'adaptation du source Perl ne doit pas êre trés compliqué.
gzzz
 
Message(s) : 0
Inscription : 08 Nov 2003, 16:32

Message par Nadia » 15 Mars 2004, 22:23

Et si on convertissait toutes les dates sur ce forum en dates "révolutionnaires" ? :roll:

(blague)
Nadia
 
Message(s) : 0
Inscription : 19 Nov 2003, 17:08

Message par com_71 » 15 Mars 2004, 22:52

Ca tourne ou pas ?
L’intérêt ne pense pas, il calcule. Les motifs sont ses chiffres. K. Marx, « Débats sur la loi relative au vol de bois » 1842.
Avatar de l’utilisateur
com_71
 
Message(s) : 6409
Inscription : 12 Oct 2002, 00:14

Message par mael.monnier » 16 Mars 2004, 18:27

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




:x 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
mael.monnier
 
Message(s) : 0
Inscription : 12 Nov 2003, 16:16

Suivant

Retour vers Tribune libre

Qui est en ligne ?

Utilisateur(s) parcourant ce forum : Aucun utilisateur inscrit et 1 invité