bonjour
je cherche:
"quel jour de la semaine correspond à la date du 14 juillet 1789, sachant que le 30 septembre 2005 est un vendredi"
(on rapelle que les millésimes multiples de 100 ne sont pas bissextiles, sauf les multiples de 400)
merci d'avance
Voici le code du script pour ceux que ca intéresse :
function perpet($tj,$mm,$aaaa){
//VERIFICATION
if($tj>0 && $mm>0){//les args sotn biens définis
//INITIALISATION
$isbix = date('L'); //Est ce que l'année est bissextile
$semday = date('w'); //le numero du jour dans la semaine
$j = date('z'); //le numero du jour dans l'année
$semn = date('W'); //le numéro de la semaine dans l'année
$month = date('m'); //le numéro du mois dans l'année
$aa = date('Y'); //le numéro de l'année
$days = array('Dimanche', 'Lundi', 'Mardi', 'Mercredi', 'Jeudi', 'Vendredi', 'Samedi');
$month = array('Janvier', 'Fervrier', 'Mars', 'Avril', 'Mai', 'Juin', 'Juiller', 'Aout', 'Septembre', 'Octobre', 'Novembre', 'Décembre');
$md = array(31, 28+$isbix, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);//durée des mois (de janviers a décembre)
$mm--;
//STYSTEM DECROISSANT
//on cherhce le dernier dimanche avant aujourdhui
$j-=$semday-1;
//on cherche tout les dimanche jusque ou on veut
while($aa>=$aaaa){
$j-=7;
if($j<0){//on changé d'année
$aa--;//numéros de l'année
if(($aa/4 == floor($aa/4) && $aa/100!=floor($aa/100)) or ($aa/100==floor($aa/100) && $aa/400==floor($aa/400)) ){//année bisextille
$isbix=1;
}else{
$isbix=0;
}
$md = array(31, 28+$isbix, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);//durée des mois (de janviers a décembre)
$j=365+$j+$isbix;//le nombre de jour de l'année
}
$v=0; $t=0;
while($j>$t){//tant que le numéro du jours est supérieur au total des jours des mois
$t+=$md[$v];//on incrémente le total des jours de chaques mois
$v++;//on incrémente le numéros du mois suivant
}
$mj = $j - ($t - $md[$v-1]);//numéro du jour dans le mois
if($v-1==$mm && (($tj>=$mj-6 && $tj<$mj) or ($tj<=$mj+6 && $tj>$mj) or ($tj==$mj)) && $aa==$aaaa){//on arrive a +/- 5 jours de la date
if($tj>=$mj-6 && $tj<$mj){//obliger de faire sa pour respecter l'orientation du décalage
$mj = 7 - ($mj-$tj);
}elseif($tj<=$mj+6 && $tj>$mj){
$mj = $tj-$mj;
}elseif($tj==$mj){
$mj=0;
}
return $days[$mj];
}
}
}
}//end function
Vous devez être membre accéder à ce service...
Pas encore inscrit ?
1 compte par personne, multi-compte interdit !
Ou identifiez-vous :