Voila quelques outils utils...
Source / Exemple :
// Nombre de semaine écoulé entre la date A (JJ/MM/AAAA) debut et la date B (JJ/MM/AAAA) fin
function nbsemaine_beetween_date( $frdatea, $frdateb) {
if( ereg("^[0-9]{1,2}/[0-9]{1,2}/([0-9]{2}|[0-9]{4})", $frdatea) && ereg("^[0-9]{1,2}/[0-9]{1,2}/([0-9]{2}|[0-9]{4})", $frdateb)) {
$arr_datea = explode("/", $frdatea);
$datea = semaine_date(date_semaine($frdatea), $arr_datea[2]);
$arr_dateb = explode("/", $frdateb);
$dateb = semaine_date(date_semaine($frdateb), $arr_dateb[2]);;
$arr_date = explode("/", $datea);
$int_j = $arr_date[0];
$int_m = $arr_date[1];
$int_a = $arr_date[2];
$int_nrsemaine = 0;
for($i=0; ; $i++) {
$date = date("d/m/Y", mktime(0,0,0,$int_m,($int_j + ($i*7)),$int_a));
if(conv_datetimestamp($date)>conv_datetimestamp($dateb)) {
break;
}
$int_nrsemaine++;
}
return $int_nrsemaine;
} else {
return false;
}
}
// Numéro de la semaine d'une date JJ/MM/AAAA
function date_semaine( $frdate) {
if( ereg("^[0-9]{1,2}/[0-9]{1,2}/([0-9]{2}|[0-9]{4})", $frdate) ) {
$timestamp = conv_datetimestamp($frdate);
$int_js = (int)date("w", $timestamp); // jour courant dans la semaine courante
if($int_js==0) $int_js = 7; // Mise en dernière position du Dimanche
$int_ja = (int)date("z", $timestamp); // jour courant dans l'année courante
$int_a = (int)date("Y", $timestamp); // année courante
$int_fjs = (int)date("w", mktime(0,0,0,1,1,$int_a)); // 1er jour de l'année courante
if($int_fjs==0) $int_fjs = 7; // Mise en dernière position du Dimanche
//$int_nbja = (int)date("z", mktime(0,0,0,12,31,$int_a)); // nbr jours dans l'année courante
$int_jdec = (7 - $int_fjs); // nbr de jours restant avant la fin de la 1ere semaine
$int_fjds = (1 + $int_jdec); // 1er jour de la 2ème semaine
for($i=0;$i<54;$i++) {
if($int_ja < (($i * 7) + $int_fjds)) break;
}
$int_semaine = ($i + 1);
return $int_semaine;
} else {
return false;
}
}
// Date JJ/MM/AAAA du debut d'une semaine d'une année
function semaine_date( $int_semaine , $int_annee ) {
if((int)$int_semaine>0 && $int_semaine<>"" && (int)$int_annee>0 && $int_annee<>"" ) {
$int_ja = (($int_semaine - 1) * 7); // jour courant dans l'année courante
if($int_ja==0)
$int_ja = 1; // Mise en dernière position du Dimanche
else
$int_ja = $int_ja - 1; // Mise en dernière position du Dimanche
$str_date_semaine = date("d/m/Y", mktime(0,0,0,1,$int_ja,$int_annee));
return $str_date_semaine;
} else {
return false;
}
}
// Jour en lettres d'un TimeStamp
function date_jour( $timestamp ) {
$lstjour = array("Dimanche","Lundi","Mardi","Mercredi","Jeudi","Vendredi","Samedi");
return $lstjour[(int)date("w", $timestamp)];
}
// Conversion date JJ/MM/AAAA en AAAA-MM-JJ
function conv_mysqldate( $frdate ) {
if( ereg("^[0-9]{1,2}/[0-9]{1,2}/([0-9]{2}|[0-9]{4})", $frdate) )
$tab = explode( "/", $frdate );
else
if( ereg("^[0-9]{1,2}-[0-9]{1,2}-([0-9]{2}|[0-9]{4})", $frdate) )
$tab = explode( "-", $frdate );
else
return false;
return $tab[2]."-".$tab[1]."-".$tab[0];
}
// Conversion date AAAA-MM-JJ en JJ/MM/AAAA
function conv_datemysql( $frdate ) {
if( ereg("^([0-9]{2}|[0-9]{4})-[0-9]{1,2}-[0-9]{1,2}", $frdate) )
$tab = explode( "-", $frdate );
else
if( ereg("^[0-9]{1,2}/[0-9]{1,2}/([0-9]{2}|[0-9]{4})", $frdate) )
$tab = explode( "/", $frdate );
else
return false;
return $tab[2]."/".$tab[1]."/".$tab[0];
}
// Conversion date JJ/MM/AAAA en TimeStamp
function conv_datetimestamp( $frdate ) {
if( ereg("^[0-9]{1,2}/[0-9]{1,2}/([0-9]{2}|[0-9]{4})", $frdate) )
$tab = explode( "/", $frdate );
else
if( ereg("^[0-9]{1,2}-[0-9]{1,2}-([0-9]{2}|[0-9]{4})", $frdate) )
$tab = explode( "-", $frdate );
else
return false;
return mktime(0,0,0,$tab[1],$tab[0],$tab[2]);
}
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.