<< Retour au sommaire

 

Date et heure

 

 

 

Le sommaire :

  1. La fonction date.
  2. Les premiers exemples d’utilisation de la fonction date.
  3. La fonction checkdate.
  4. Les fonctions mktime et gregoriantojd.

 

 

La fonction date

 

La fonction date, par l’intermédiaire d’une variable, permet de récupérer l’heure et la date du système.

 

La syntaxe :

$Nomvariable = date(«formatage»);

 

La description :

$NomVariable est la variable qui reçoit le résultat de la fonction date.

Formatage est le paramètre de la fonction date. Il correspond à une suite de caractères qui définit la nature et la forme des détails de l’information tel que nous la souhaitons.

Le formatage doit être encadré par des guillemets.

Par exemple, si vous souhaitez obtenir une date du genre « 28 12 1967 », eh bien vous devrez mettre entre guillemets un « j » minuscule, ensuite un séparateur, par exemple espace, puis « m » minuscule pour le mois, un espace et un « Y » majuscule pour l’année. Tout ceci bien sûr encadré par des guillemets, quant au séparateur entre le jour, le mois et l’année, c’est à vous de réaliser votre choix, vous pouvez écrire un espace, une barre oblique, ou encore, un tiret…

 

Voici la liste des caractères utilisables :

((Attention, la casse joue un rôle primordial !)

 

d (minuscule) pour le jour du mois sur 2 chiffres.

D (majuscule) pour le jour de la semaine en abrégé et en anglais.

j (minuscule) pour le jour du mois sans le zéro non significatif.

l (minuscule) pour le jour de la semaine en entier et en anglais.

m (minuscule) pour les mois avec les zéro.

n (minuscule) pour les mois sans les zéro.

M (majuscule) pour les mois en abrégé.

F (majuscule) pour les mois en entier.

Y (majuscule) pour l'année sur 4 chiffres.

y (minuscule) pour l'année sur 2 chiffres.

z (minuscule) pour le numéro du jour de l'année encours.

t (minuscule) pour le numéro du jour du mois en cours.

L (majuscule) pour obtenir si l'année est bissextile, les valeurs retournées sont 1 pour vrai et 0 pour faux.

 

h (minuscule) pour l'heure au format anglais de 1 à 12.

H (majuscule) pour l'heure sur 24 heures.

i (minuscule) pour les minutes de 0 à 59.

s (minuscule) pour les secondes de 0 à 59.

 

 


Les premiers exemples d’utilisation de la fonction date

 

Voici un exemple qui affiche la date du jour :

<html>

<head>

<title> bonjour </title>

</head>

<body>

<h1>Affichage de la date du jour</h1>

<?php

// Affectation de la date du jour dans la variable $DateDuJour

$DateDuJour = date("j m Y");

echo "Aujourd'hui nous sommes le $DateDuJour »; ?>

</body>

</html>

 

Voici maintenant un exemple pour afficher l’heure courante :

<html>

<head>

<title> bonjour </title>

</head>

<body>

<h1>Affichage de l'heure</h1>

<?php

// Affectation de l'heure courante dans la variable $HeureCourante

$HeureCourante = date("H:i");

echo "Savez-vous quelle heure il est ? <br>";

echo "Il est très exactement $HeureCourante »; ?>

</body>

</html>

 

 


La fonction checkdate

 

Cette fonction permet de vérifier la validité d’une date passée en paramètre.

La syntaxe :checkdate(mois,jour,année) ;

La description :

La fonction checkdate retourne vraie ou faux selon si les 3 variables passées en paramètres sont correctes ou non.

Dans les paramètres de check date, vous devez y saisir le mois, puis le jour et enfin l’année et chacun d’entre eux séparés par une virgule.

 

Voici un exemple :

 

Le fichier index.php invite l’utilisateur à saisir le jour en chiffre, le mois et l’année dans 3 zones d’éditions distinctes. Ensuite, après avoir validé le bouton qui permet de tester la validité de la date saisie, le fichier suite.php est exécuté, il teste la validité de la date et affiche le résultat.

 

Voici le code du fichier index.php :

 

<html>

<head>

<title> bonjour </title>

</head>

<body>

<h1>Veuillez saisir une date à partir des 3 champs</h1>

<p>Ensuite, validez le bouton :</à>

<p>Tester la validité de la date</p>

<form action="suite.php" method="post">

Le jour sur deux chiffres : <input type="test" name="jour" size="12">

Le mois sur deux chiffres : <input type="test" name="mois" size="12">

L'année sur quatre chiffres : <input type="test" name="annee" size="12">

<input type="submit" value="Tester la validité de la date">

</form>

</body>

</html>

 

Voici le code du fichier suite.php :

 

<html>

<head>

<title> Résultat</title>

</head>

<body>

<h1>Résultat de la validité de la date saisie</h1>

<?php

extract($_POST,EXTR_OVERWRITE);

if (checkdate($mois,$jour,$annee))

{ echo "Bravo, la date saisie est correcte.";

echo "vous avez saisie la date suivante : $jour $mois $annee »; }

else

{ echo "Echec, la date saisie au clavier est incorrect."; } ?>

</body>

</html>

 

 


Les fonctions mktime et gregoriantojd

 

Ces deux fonctions retournent le nombre de secondes écoulées entre la date passée en paramètre et une date de départ.

La fonction mktime renvoie le nombre de seconde écoulé depuis le premier janvier 1970 pour la date passée en paramètre :

La fonction gregoriantojd retourne le nombre de jours écoulé depuis le premier janvier 4714avant Jésus CHRIST.

 

Les syntaxes :

 

$NombreDeSecondes = mktime(heure,minutes,secondes,mois,jour,année);

$NombreDeSecondes = gregoriantojd(mois,jour,année);

 

Remarque :

La fonction mktime accepte le passage en paramètres non seulement d’une date, mais de l’heure, des minutes et des secondes.

Attention, si vous souhaitez calculer le nombre de jours qui s’est écoulé entre deux dates, vous devrez convertir le résultat en jours, puisque ces deux fonctions retournent un résultat exprimé en secondes.

 

Attention, si vous désirez traiter une date antérieure au premier janvier 1970, date de la création du PHP, vous devrez utiliser la fonction gregoriantojd.

 

Je vous propose maintenant un exemple qui affiche le nombre de jours écoulés depuis le 25 décembre 1985.

 

<html>

<head>

<title> bonjour </title>

</head>

<body>

<h1>Calcul de jours écoulés entre deux dates</h1>

<p>Le nombre de jours écoulés depuis le 25 décembre 1985 est de :<p>

<?php

// création et initialisation de la date du jour

$JCourant = date("j");

$MCourant = date("m");

$ACourante = date("Y");

// création et initialisation de l'ancienne date

$JAncien = 25;

$MAncien = 12;

$AAncienne = 1985;

// calcul du nombre de secondes écoulées entre les deux dates

$NombreJours=mktime(0,0,0,$MCourant,$JCourant,$ACourante)-mktime(0,0,0,$MAncien,$JAncien,$AAn

 

cienne);

// conversion du résultat en nombre de jours

$NombreJours=$NombreJours/60/60/24;

// affichage du résultat

echo $NombreJours." jours très exactement !"; ?>

</body>

</html>

 

Philippe BOULANGER