(fonction maison) affiche le temps écoulé depuis une date
Posté : 11 oct. 2011, 22:01
Bonjour,
voici une fonction réaliser par moi même qui affiche le temps écouler en année, mois, jours, heure, minutes et secondes
Bien évidement, le mois se met dès que le nbr de jour dépasse 30 ou 31, idem pour le mois, si ça dépasse 12 mois, l'année se met
voici la fonction:
Cadeau !
voici une fonction réaliser par moi même qui affiche le temps écouler en année, mois, jours, heure, minutes et secondes
Bien évidement, le mois se met dès que le nbr de jour dépasse 30 ou 31, idem pour le mois, si ça dépasse 12 mois, l'année se met
voici la fonction:
<?php
function temps_ecoule($date,$type) {
if($type == "timestamp") {
$date2 = $date; // depuis cette date
} elseif($type == "date") {
$date2 = strtotime($date); // depuis cette date
} else {
return "Non reconnu";
exit();
}
$date1 = date("U"); // à la date actuelle
$return = "";
// ######## ANNEE ########
if((date('Y',$date1 - $date2)-1970) > 0) {
if((date('Y',$date1 - $date2)-1970) > 1) {
$echo_annee = (date('Y',$date1 - $date2)-1970)." Anneés";
$return = $echo_annee.", ";
} else {
$echo_annee = (date('Y',$date1 - $date2)-1970)." Année";
$return = $echo_annee.", ";
}
} else {
$echo_annee = "";
$return = $return;
}
// ######## MOIS ########
if((date('m',$date1 - $date2)-1) > 0) {
$echo_mois = (date('m',$date1 - $date2)-1)." Mois ";
if(!empty($echo_annee)) {
$return = $echo_annee." et ".$echo_mois;
} else {
$return = $echo_mois;
}
} else {
$echo_mois = "";
$return = $return;
}
// ######## JOUR ########
if((date('d',$date1 - $date2)-1) > 0) {
if((date('d',$date1 - $date2)-1) > 1) {
$echo_jour = (date('d',$date1 - $date2)-1)." Jours";
if(!empty($echo_annee) OR !empty($echo_mois)) {
$return = $return.$echo_mois." et ".$echo_jour;
} else {
$return = $return.$echo_mois.$echo_jour;
}
} else {
$echo_jour = (date('d',$date1 - $date2)-1)." Jour";
if(!empty($echo_annee) OR !empty($echo_mois)) {
$return = $return.$echo_mois." et ".$echo_jour;
} else {
$return = $return.$echo_mois.$echo_jour;
}
}
} else {
$echo_jour = "";
$return = $return;
}
// ######## HEURE ########
if((date('H',$date1 - $date2)-1) > 0) {
if((date('H',$date1 - $date2)-1) > 1) {
$echo_heure = (date('H',$date1 - $date2)-1)." Heures";
if(!empty($echo_annee) OR !empty($echo_mois) OR !empty($echo_jour)) {
$return = $echo_annee.$echo_mois.$echo_jour." et ".$echo_heure;
} else {
$return = $echo_annee.$echo_mois.$echo_jour.$echo_heure;
}
} else {
$echo_heure = (date('H',$date1 - $date2)-1)." Heure";
if(!empty($echo_annee) OR !empty($echo_mois) OR !empty($echo_jour)) {
$return = $echo_annee.$echo_mois.$echo_jour." et ".$echo_heure;
} else {
$return = $echo_annee.$echo_mois.$echo_jour.$echo_heure;
}
}
} else {
$echo_heure = "";
$return = $return;
}
// ######## MINUTE ET SECONDE ########
$virgule_annee = "";
$virgule_mois = "";
$virgule_jour = "";
if(date('i',$date1 - $date2) > 0) {
if(date('i',$date1 - $date2) > 1) {
$echo_minute = round(date('i',$date1 - $date2))." Minutes";
if(!empty($echo_annee) OR !empty($echo_mois) OR !empty($echo_jour) OR !empty($echo_heure)) {
if(!empty($echo_annee)) {
if(!empty($echo_mois) OR !empty($echo_jour) OR !empty($echo_heure)) {
$virgule_annee = ", ";
}
}
if(!empty($echo_mois)) {
if(!empty($echo_jour) OR !empty($echo_heure)) {
$virgule_mois = ", ";
}
}
if(!empty($echo_jour)) {
if(!empty($echo_heure)) {
$virgule_jour = ", ";
}
}
$return = $echo_annee.$virgule_annee.$echo_mois.$virgule_mois.$echo_jour.$virgule_jour.$echo_heure." et ".$echo_minute;
} else {
$return = $echo_annee.$virgule_annee.$echo_mois.$virgule_mois.$echo_jour.$virgule_jour.$echo_heure.$echo_minute;
}
} else {
$echo_minute = round(date('i',$date1 - $date2))." Minute";
if(!empty($echo_annee) OR !empty($echo_mois) OR !empty($echo_jour) OR !empty($echo_heure)) {
if(!empty($echo_annee)) {
if(!empty($echo_mois) OR !empty($echo_jour) OR !empty($echo_heure)) {
$virgule_annee = ", ";
}
}
if(!empty($echo_mois)) {
if(!empty($echo_jour) OR !empty($echo_heure)) {
$virgule_mois = ", ";
}
}
if(!empty($echo_jour)) {
if(!empty($echo_heure)) {
$virgule_jour = ", ";
}
}
$return = $echo_annee.$virgule_annee.$echo_mois.$virgule_mois.$echo_jour.$virgule_jour.$echo_heure." et ".$echo_minute;
} else {
$return = $echo_annee.$virgule_annee.$echo_mois.$virgule_mois.$echo_jour.$virgule_jour.$echo_heure.$echo_minute;
}
}
} else {
if(date('s',$date1 - $date2) > 1) {
$echo_minute = round(date('s',$date1 - $date2))." Secondes";
if(!empty($echo_annee) OR !empty($echo_mois) OR !empty($echo_jour) OR !empty($echo_heure)) {
if(!empty($echo_annee)) {
if(!empty($echo_mois) OR !empty($echo_jour) OR !empty($echo_heure)) {
$virgule_annee = ", ";
}
}
if(!empty($echo_mois)) {
if(!empty($echo_jour) OR !empty($echo_heure)) {
$virgule_mois = ", ";
}
}
if(!empty($echo_jour)) {
if(!empty($echo_heure)) {
$virgule_jour = ", ";
}
}
$return = $echo_annee.$virgule_annee.$echo_mois.$virgule_mois.$echo_jour.$virgule_jour.$echo_heure." et ".$echo_minute;
} else {
$return = $echo_annee.$virgule_annee.$echo_mois.$virgule_mois.$echo_jour.$virgule_jour.$echo_heure.$echo_minute;
}
} else {
if(!empty($echo_annee) OR !empty($echo_mois) OR !empty($echo_jour) OR !empty($echo_heure)) {
if(!empty($echo_annee)) {
if(!empty($echo_mois) OR !empty($echo_jour) OR !empty($echo_heure)) {
$virgule_annee = ", ";
}
}
if(!empty($echo_mois)) {
if(!empty($echo_jour) OR !empty($echo_heure)) {
$virgule_mois = ", ";
}
}
if(!empty($echo_jour)) {
if(!empty($echo_heure)) {
$virgule_jour = ", ";
}
}
$return = $echo_annee.$virgule_annee.$echo_mois.$virgule_mois.$echo_jour.$virgule_jour.$echo_heure." et ".$echo_minute;
} else {
$return = $echo_annee.$virgule_annee.$echo_mois.$virgule_mois.$echo_jour.$virgule_jour.$echo_heure.$echo_minute;
}
}
}
return "Il y a ".$return;
}
echo '<pre>';
$date = "1284346290";
echo temps_ecoule($date,"timestamp")."\n"; // timestamp ou date
$date = date('U')-9; // temps actuel, moins 9 secondes
echo temps_ecoule($date,"timestamp")."\n"; // affiche: Il y a 9 Secondes
$date = "13-04-2010 4:00";
echo temps_ecoule($date,"date")."\n";
$date = "13-04-2010 4:00";
echo temps_ecoule($date,"dat")."\n"; // Affiche: Non reconnu
echo '</pre>';
?>
C'est noël avant l'heure Cadeau !