$T[$Mois]) {return 1;} elseif ($Mois>12) {return 2;} else {return 0;} } #---------------------------------------------------- #Cette fonction retourne le numéro du mois frainçais # NUMMOIS #---------------------------------------------------- function NumMois($MoisStr) { #Variables tableaux nécessaires $Mois["Janvier"]=1; $Mois["Février"]=2; $Mois["Mars"]=3; $Mois["Avril"]=4; $Mois["Mai"]=5; $Mois["Juin"]=6; $Mois["Juillet"]=7; $Mois["Août"]=8; $Mois["Septembre"]=9; $Mois["Octobre"]=10; $Mois["Novembre"]=11; $Mois["Décembre"]=12; return $Mois[$MoisStr]; } #-------------------------------------------------------------------------------- #Cette fonction permet de créer une date complète à partir du mois et de l'année #Cette date est ensuite inscriptible dans une base de donnée mysql # TRANSFORMEDATE #-------------------------------------------------------------------------------- function TransformeDate($Jour,$MoisPas,$Annee) { #Détermine le numéro du mois passé $MoisInt=NumMois($MoisPas); return "$Annee-$MoisInt-$Jour"; } function TransformeDate2($Jour,$MoisPas,$Annee) { return "$Annee-$MoisPas-$Jour"; } #-------------------------------------------------------------------------------- #Cette fonction permet de retourner l'heure issu d'une date de #base de donnée mysql # MYSQL_HEURE #-------------------------------------------------------------------------------- function mysql_heure($DateSQL) { $DateScindee=split(" ",$DateSQL); return $DateScindee[1]; } #-------------------------------------------------------------------------------- #Cette fonction permet de retourner le numéro du mois issu d'une date de #base de donnée mysql # MYSQL_MOIS #-------------------------------------------------------------------------------- function mysql_mois($DateSQL) {$DateScindee=split("-",$DateSQL); $NombreMois=$DateScindee[1]+0; return $NombreMois; } #-------------------------------------------------------------------------------- #Cette fonction permet de retourner le numéro du jour issu d'une date de #base de donnée mysql # MYSQL_JOUR #-------------------------------------------------------------------------------- function mysql_jour($DateSQL) {$DateScindee=split("-",$DateSQL); $NombreJour=$DateScindee[2]+0; return $NombreJour; } #-------------------------------------------------------------------------------- #Cette fonction permet de retourner le numéro de l'annee issu d'une date de #base de donnée mysql # MYSQL_ANNEE #-------------------------------------------------------------------------------- function mysql_annee($DateSQL) {$DateScindee=split("-",$DateSQL); $NombreAnnee=$DateScindee[0]+0; return $NombreAnnee; } #------------------------------------------------------------------------------- #Cette fonction retourne la date en cours au format mysql # MYSQL_DATE #------------------------------------------------------------------------------- function mysql_date() { $Date=getdate(); $DateFin=$Date["year"]."-"; $DateFin.=$Date["mon"]; $DateFin.="-"; $DateFin.=$Date["mday"]; return $DateFin; } #------------------------------------------------------------------------------- # Cette fonction retourne le nom du mois français correspondant à son numéro # Exemple : mysql_moisstr("1")="Janvier"; #------------------------------------------------------------------------------- function mysql_moisstr($EntierMois,$Langue) {$Langue=strtolower($Langue); switch ($Langue) { case "fr" : $Mois[1]="Janvier"; $Mois[2]="Février"; $Mois[3]="Mars"; $Mois[4]="Avril"; $Mois[5]="Mai"; $Mois[6]="Juin"; $Mois[7]="Juillet"; $Mois[8]="Août"; $Mois[9]="Septembre"; $Mois[10]="Octobre"; $Mois[11]="Novembre"; $Mois[12]="Décembre"; break; case "uk" : $Mois[1]="January"; $Mois[2]="February"; $Mois[3]="March"; $Mois[4]="April"; $Mois[5]="May"; $Mois[6]="June"; $Mois[7]="July"; $Mois[8]="August"; $Mois[9]="September"; $Mois[10]="October"; $Mois[11]="November"; $Mois[12]="December"; break; } return $Mois[$EntierMois]; } #------------------------------------------------------------------------------- # Cette fonction retourne le nom abrégé du mois français correspondant à son numéro # Exemple : mysql_moisstr("1")="Jan"; #------------------------------------------------------------------------------- function mysql_moisstrabr($EntierMois) { $Mois[1]="Jan"; $Mois[2]="Fév"; $Mois[3]="Mars"; $Mois[4]="Avr"; $Mois[5]="Mai"; $Mois[6]="Juin"; $Mois[7]="Juil"; $Mois[8]="Août"; $Mois[9]="Sept"; $Mois[10]="Oct"; $Mois[11]="Nov"; $Mois[12]="Déc"; return $Mois[$EntierMois]; } #------------------------------------------------------------------------------- # Cette fonction retourne la date entière 99 - mois littéral - année #------------------------------------------------------------------------------- function mysql_datelitterale($Date,$Langue) { #récupère le jour du mois $Jour=mysql_jour($Date); #récupère le nom français du mois $Mois=mysql_mois($Date); $MoisLitteral=mysql_moisstr($Mois,$Langue); #récupère l'année $Annee=mysql_annee($Date); #concatène le tout switch ($Langue) { case "fr" : $DateARetourner=$Jour." ".$MoisLitteral." ".$Annee; break; case "uk" : switch ($Jour) { case 1 : $DateARetourner="1st ";break; case 2 : $DateARetourner="2nd ";break; case 3 : $DateARetourner="3rd "; break; default : $DateARetourner=$Jour."th "; } $DateARetourner.=" of ".$MoisLitteral.", ".$Annee; break; } return $DateARetourner; } /*--------------------------------------------------------------------------- Function ListeJours($Jour) Dresse une liste déroulante nommée Jour, avec le jour passé en âramètre sélectionné par défaut. Si $Jour n'est pas passé, le jour vide est sélectionné ------------------------------------------------------------------------------*/ function ListeJours($Jour,$NomListe) {$Liste=""; return $Liste; } function ListeMois($Mois,$Langue,$NomListe) {{$Liste=""; return $Liste; } } function ListeAnnees($Annee,$Nom) {$Liste=""; return $Liste; } /*----------------------------------------------------------------------------------------------------------------- différence en nombre de jours entre deux dates deux fonctions sont nécessaires : facteur et Nbre_Jours_Dates. Seule la seconde est appelée. -----------------------------------------------------------------------------------------------------------------*/ function facteur($jour , $mois , $annee){ $b=365*$annee; $c=31*($mois-1); if (($mois==1) || ($mois==2)){ $d= 0; $e = intval(($annee -1)/4); $h = intval(0.75*(intval(($annee-1)/100)+1)); } else { $d= intval(0.4*$mois+2.3); $e = intval($annee/4); $h = intval(0.75*(intval($annee/100)+1)); } $result = $jour + $b+ $c - $d +$e -$h; return $result; } function Nbre_Jours_Entre_Dates($DateDep , $DateFin) { $jour1=mysql_jour($DateDep); $mois1=mysql_mois($DateDep); $annee1=mysql_annee($DateDep); $jour2=mysql_jour($DateFin); $mois2=mysql_mois($DateFin); $annee2=mysql_annee($DateFin); $diff = facteur($jour2 , $mois2 , $annee2)-facteur($jour1 , $mois1 , $annee1); return $diff; } function Jour_DateSup($DateDep,$Langue) {//retourne le nom du jour après $DateDep $E=ListeNomJours($Langue); switch ($Langue) { case "Fr" : setlocale(LC_TIME, "fr_FR"); break; case "Uk" : break; case "Sp" : setlocale(LC_TIME,"sp_SP");break; default : break; } $Jour=mysql_Jour($DateDep)+1; $Mois=mysql_Mois($DateDep); $Annee=mysql_Annee($DateDep); $DateTemp=$Annee."-".$Mois."-".$Jour; return strftime ("%A", strtotime(str_replace('-','/',$DateTemp))); } ?>