Différence
entre deux jours
L'usage des timestamp UNIX nous permet maintenant de calculer le
temps existant entre deux instants : il suffit de soustraire un
timestamp à l'autre, de diviser par 86400 (60 * 60 * 24 -
on convertit le nombre de secondes en nombre de jours), et de renvoyer
la valeur absolue du résultat :
function diff2jours($jj,
$mm, $aaaa, $jj2, $mm2, $aaaa2)
{
$userDate = mktime(0,0,0,$mm,$jj,$aaaa);
$userDate2 = mktime(0,0,0,$mm2,$jj2,$aaaa2);
return abs(intval( ($userDate - $userDate2) / (86400)
));
}
intval() réalise une troncature
du nombre au niveau de la virgule.
abs() renvoi la valeur absolue.
Ainsi :
<?=diff2jours(14,07,2003,25,12,2003);?>
donne 164 jours.
Temps
restant avant
une date donnée
Facile à construire à partir de diff2jours().
Voici le nombre de jours restant avant Noël, par exemple
:
<?=diff2jours(date(d),date(m),date(Y),25,12,2003);?>
donne 104 jours.
Il est plus simple de construire un fonction dédiée
:
function tempsRestant($jj,$mm,$aaaa)
{
$aujourdhui = mktime(0,0,0,date("m"),date("d"),date("Y"));
$dateFuture = mktime(0,0,0,$mm,$jj,$aaaa);
return intval( ($dateFuture - $aujourdhui) / (86400)
);
}
Temps
écoulé depuis une date donnée (= calcul de
l'âge)
Même
principe que précédemment :
function age($jj,$mm,$aaaa)
{
$aujourdhui = mktime(0,0,0,date("m"),date("d"),date("Y"));
$naissance = mktime(0,0,0,$mm,$jj,$aaaa);
return intval( ($aujourdhui-$naissance) / (86400) );
}
Quel
jour êtes-vous né ?
Pour terminer, un petit truc pour retrouver son jour de naissance:
<?=date("l",
mktime(0,0,0,04,21,1977));?>
Page 1 | 2
|