Outils de conversion de la date....

Soyez le premier à donner votre avis sur cette source.

Vue 9 424 fois - Téléchargée 196 fois


Description

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]);
}

Codes Sources

A voir également

Ajouter un commentaire

Commentaire

mopios
Messages postés
4
Date d'inscription
mercredi 4 juin 2003
Statut
Membre
Dernière intervention
19 août 2014
-
Fort utile, grand merci et bonne continuation.

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.