Les Dates et calendriers en php –exercices corrigés fonctions date php5
EXERCICE 1 :
Après
avoir consulté le résultat affiché par l’exemple 8-1,
déterminer la date et l’heure
de l’exécution de ce script.
Le
timestamp en question vaut 1098480456 .
Solution :
<?php
echo date("\Le d / M / Y à
H:m:s",1098480456);
?>
Le
résultat affiché est : « Le 22 / Oct / 2004 à 23:10:36 »
Notez
l’utilisation du caractère d’échappement pour afficher normalement la lettre «
L ».
EXERCICE 2 :
Calculez
votre age à l’instant actuel à la seconde près.
Le
script suivant ne fonctionne pas en local sous Windows et affiche le message suivant
: « Warning: mktime()
[function.mktime]: Windows does not support negative
values for this function in
c:\wamp\www\php5\C8dates\ch8exo2.php on line
2 ».
En effet Windows n’accepte pas les timestamps négatifs et dans l’exemple la
date de naissance est antérieure à 1970. En revanche, sur un serveur externe
sous Linux, le script fonctionne.
Solution :
<?php
$datenaiss=
mktime(9,15,45,1,21,1962);
$aujourdhui=time();
$age=$aujourdhui - $datenaiss;
echo "Mon age est de $age
secondes";
?>
On
obtient par exemple : Mon age est de 1352626403 secondes
EXERCICE 3 :
Vérifiez
si la date du 29 Février 1962 a existé.
Solution :
<?php
if(checkdate(2,29,1962)) {echo "Date valide";}
else{echo "Date non
valide";}
?>
Le
résultat est : « Date non valide »
EXERCICE 4 :
Quel jour de la semaine était le 3 mars 1993 ? Affichez le
résultat
en français.
Solution :
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML
4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type"
content="text/html; charset=iso-
8859-1">
<title>Afficher
le jour de la semaine en français</title>
</head>
<body>
<?php
//Date en français
$jour =
mktime(0,0,0,3,3,1993);
$semaine =
array(" dimanche "," lundi "," mardi ","
mercredi ","
jeudi ","
vendredi "," samedi ");
echo
"<h2>Le ",date("d M Y ",$jour)," était un
",
$semaine[date('w')], "</h2>";
?>
</body>
</html>
Le résultat est : Le 03 Mars 1993 était un mercredi
EXERCICE 5 :
Affichez toutes les années bissextiles comprises entre 2005 et 2052.
Solution :
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML
4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta
http-equiv="Content-Type" content="text/html; charset=iso-
8859-1">
<title>Afficher les années
bissextiles </title>
</head>
<body>
<?php
for($i=2005;$i<=2052;$i++)
{
$date=mktime(0,0,0,1,1,$i);
if(date("L",$date)==1)
{echo "L'année $i est bissextile<br />";}
}
?>
</body>
</html>
Les résultats affichés sont :
L'intervalle
de validité d'un timestamp va généralement du Vendredi 13 Décembre 1901
20:45:54 GMT au Mardi 19 Janvier 2038 03:14:07 GMT.
Donc les résultats affichés s’arrêtent à 2036.
En
local des alertes sont affichées pour les années postérieures à
2038.
EXERCICE 6 :
Déterminez quel jour de la semaine seront tous les premier Mai des
années comprises entre 2005 et 2010. Si le jour est un samedi ou un dimanche,
affichez le message « Désolé !». Si le jour est un vendredi ou un lundi
affichez « Week end prolongé !».
Solution :
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML
4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type"
content="text/html; charset=iso-
8859-1">
<title>Afficher
jours de 1er mai </title>
</head>
<body>
<p>
<?php
for($i=2005;$i<=2010;$i++)
{
$date=mktime(0,0,0,5,1,$i);
if(date("w",$date)==6 OR
date("w",$date)==0 ) {echo
"1<sup>er</sup>
Mai $i : Désolé<br />";}
elseif(date("w",$date)==5 OR
date("w",$date)==1 ) {echo
"1<sup>er</sup> Mai $i : Week end
prolongé<br />";}
}
?>
</p>
</body>
</html>
Les
résultats affichés sont :
EXERCICE 7 :
L’Ascension est le quarantième jour après Pâques (Pâques compris
dans les 40 jours). Calculez les dates de l’Ascension pour les
années 2005 à 2010.
Solution :
<?php
for($i=2004;$i<2010;$i++)
{
echo "Jour de
Paques : ",date("d M Y ",easter_date($i)),"<br
/>";
echo "Jour de
l'Ascension ",date("d M Y
",easter_date($i)+39*86400),"<br
/>";
}
?>
Les résultats obtenus sont les suivants :
Aucun commentaire:
Enregistrer un commentaire