DATE |
Date |
---|---|
PHP 4+ |
Syntaxe
function date($format) |
function date($format,$timestamp) |
Paramètres
Nom | Description | ||
---|---|---|---|
$format | Ce paramètre permet d'indiquer la chaine de caractères de format de la date souhaités : | ||
Nom | Description | ||
A | Ce caractère permet d'indiquer d'afficher AM/PM après les heures. | ||
B | Ce caractère permet d'indiquer l'heure Internet, soit de 000 à 999. | ||
D | Ce caractère permet d'indiquer les trois premières lettre du jour de la semaine en anglais. Voici la correspondance des valeurs : | ||
Valeur | Description | ||
Sun | Dimanche | ||
Mon | Lundi | ||
Tue | Mardi | ||
Wed | Mercredi | ||
Thu | Jeudi | ||
Fri | Vendredi | ||
Sat | Samedi | ||
F | Ce caractère permet d'indiquer le mois en anglais. Voici la correspondance des valeurs : | ||
Valeur | Description | ||
January | Janvier | ||
February | Février | ||
March | Mars | ||
April | Avril | ||
May | Mai | ||
June | Juin | ||
July | Juillet | ||
August | Août | ||
September | Septembre | ||
October | Octobre | ||
November | Novembre | ||
December | Décembre | ||
G | Ce caractère permet d'indiquer l'heure au format 24h, soit de 0 à 23. | ||
H | Ce caractère permet d'indiquer l'heure au format 24h sur deux chiffres, soit de 00 à 23. | ||
I | Ce caractère permet d'indiquer si c'est l'heure d'été. Voici la correspondance des valeurs : | ||
Valeur | Description | ||
0 | Heure d'hiver | ||
1 | Heure d'été | ||
L | Ce caractère permet d'indiquer si l'année est bissextile. Voici la correspondance des valeurs : | ||
Valeur | Description | ||
0 | Année commune | ||
1 | Année bissextile | ||
M | Ce caractère permet d'indiquer les premières lettres du mois en anglais. Voici la correspondance des valeurs : | ||
Valeur | Description | ||
Jan | Janvier | ||
Feb | Février | ||
Mar | Mars | ||
Apr | Avril | ||
May | Mai | ||
Jun | Juin | ||
Jul | Juillet | ||
Aug | Août | ||
Sep | Septembre | ||
Oct | Octobre | ||
Nov | Novembre | ||
Dec | Décembre | ||
N | Ce caractère permet d'indiquer un jour de la semaine en ISO-8601. Voici la correspondance des valeurs : | ||
Valeur | Description | ||
1 | Lundi | ||
2 | Mardi | ||
3 | Mercredi | ||
4 | Jeudi | ||
5 | Vendredi | ||
6 | Samedi | ||
7 | Dimanche | ||
O | Ce caractère permet d'indiquer la différence d'heures avec le méridien de Greenwich (GMT) | ||
P | Ce caractère permet d'indiquer la différence d'heures et de minutes avec le méridien de Greenwich (GMT) | ||
S | Ce caractère permet d'indiquer le suffixe du jour d'un nombre de jour par mois | ||
T | Ce caractère permet d'indiquer l'abréviation du fuseau horaire, soit EST, MDT,... | ||
U | Ce caractère permet d'indiquer le nombre de secondes depuis le 1er janvier 1970. | ||
W | Ce caractère permet d'indiquer le numéro dans l'année. | ||
Y | Ce caractère permet d'indiquer une année avec 4 chiffres. | ||
Z | Ce caractère permet d'indiquer le décalage du fuseau horaire en secondes | ||
a | Ce caractère permet d'indiquer d'afficher am/pm après les heures. | ||
c | Ce caractère permet d'indiquer la date au format du ISO 8601 | ||
d | Ce caractère permet d'indiquer le jour du mois sur deux chiffres. Les valeurs possibles sont de 01 à 31. | ||
e | Ce caractère permet d'indiquer le fuseau horaire, soit UTC, GMT, Atlantic/Azores,.... | ||
g | Ce caractère permet d'indiquer l'heure au format 12h, soit de 1 à 12. | ||
h | Ce caractère permet d'indiquer l'heure au format 12h sur deux chiffres, soit de 01 à 12. | ||
i | Ce caractère permet d'indiquer les minutes sur deux chiffres, soit de 00 à 59. | ||
j | Ce caractère permet d'indiquer le jour du mois. Les valeurs possibles sont de 1 à 31. | ||
l | Ce caractère permet d'indiquer un jour de la semaine en anglais. Voici la correspondance des valeurs : | ||
Valeur | Description | ||
Sunday | Dimanche | ||
Monday | Lundi | ||
Tuesday | Mardi | ||
Wednesday | Mercredi | ||
Thursday | Jeudi | ||
Friday | Vendredi | ||
Saturday | Samedi | ||
m | Ce caractère permet d'indiquer un mois en deux chiffres. Voici la correspondance des valeurs : | ||
Valeur | Description | ||
01 | Janvier | ||
02 | Février | ||
03 | Mars | ||
04 | Avril | ||
05 | Mai | ||
06 | Juin | ||
07 | Juillet | ||
08 | Août | ||
09 | Septembre | ||
10 | Octobre | ||
11 | Novembre | ||
12 | Décembre | ||
n | Ce caractère permet d'indiquer le mois. Voici la correspondance des valeurs : | ||
Valeur | Description | ||
1 | Janvier | ||
2 | Février | ||
3 | Mars | ||
4 | Avril | ||
5 | Mai | ||
6 | Juin | ||
7 | Juillet | ||
8 | Août | ||
9 | Septembre | ||
10 | Octobre | ||
11 | Novembre | ||
12 | Décembre | ||
o | Ce caractère permet d'indiquer une année en format ISO-8601. | ||
r | Ce caractère permet d'indiquer la date au format du RFC 2822 | ||
s | Ce caractère permet d'indiquer les secondes sur deux chiffres, soit de 00 à 59. | ||
t | Ce caractère permet d'indiquer le nombre de jour dans le mois. Les valeurs possibles sont entre 28 et 31. | ||
u | Ce caractère permet d'indiquer les microsecondes. | ||
w | Ce caractère permet d'indiquer le jour de la semaine. Voici la correspondance des valeurs : | ||
Valeur | Description | ||
0 | Dimanche | ||
1 | Lundi | ||
2 | Mardi | ||
3 | Mercredi | ||
4 | Jeudi | ||
5 | Vendredi | ||
6 | Samedi | ||
y | Ce caractère permet d'indiquer une année avec 2 chiffres. | ||
z | Ce caractère permet d'indiquer le jour de l'année. Soit de 0 à 366. | ||
$timestamp | Ce paramètre optionnel permet d'indiquer le temps à formater. Si le temps n'est pas spécifié, la date et l'heure courante sont utilisés. |
Retour
Valeur | Description |
---|---|
Chaine de caractères | Ces valeurs correspondent au format demandé. |
Description
Cette fonction permet de retourner une date selon un certain format.
Exemples
Voici un exemple permettant d'afficher la date courante :
- <?php
- echo "Date courante : ".date("Y-m-d");
- ?>
on obtiendra le résultat suivant si nous sommes le «2011-04-08» :
Date courante : 2011-04-08Voici un exemple permettant d'afficher l'heure courante :
- <?php
- echo "Heure courante : ".date("H:i:s");
- ?>
on obtiendra le résultat suivant si l'heure est «15:23:51» :
Heure courante : 15:23:51Voici un exemple permettant d'afficher la date de l'année suivante :
on obtiendra le résultat suivant si nous sommes le «2011-04-08» :
Date de la prochaine année : 2012-04-08Voici un exemple permettant d'afficher la date de l'année suivante avec un jour en moins :
on obtiendra le résultat suivant si nous sommes le «2011-04-08» :
Date du jour précédent de la prochaine année : 2012-04-07Voici un exemple permettant d'indiquer le jour précédente ou suivante dans une semaine du Lundi au Vendredi sans tenir compte du Samedi et Dimanche :
- <?php
- function LastDayNotWeekEnd($CurrDate) {
- $TempLastDate = date("Y-m-d",strtotime($CurrDate." last day"));
- if((date("w",strtotime($TempLastDate)) == 0) || (date("w",strtotime($TempLastDate)) == 6)) $TempLastDate = date("Y-m-d",strtotime($TempLastDate." last day"));
- if((date("w",strtotime($TempLastDate)) == 0) || (date("w",strtotime($TempLastDate)) == 6)) $TempLastDate = date("Y-m-d",strtotime($TempLastDate." last day"));
- return $TempLastDate;
- }
-
- function NextDayNotWeekEnd($CurrDate) {
- $TempLastDate = date("Y-m-d",strtotime($CurrDate." next day"));
- if((date("w",strtotime($TempLastDate)) == 0) || (date("w",strtotime($TempLastDate)) == 6)) $TempLastDate = date("Y-m-d",strtotime($TempLastDate." next day"));
- if((date("w",strtotime($TempLastDate)) == 0) || (date("w",strtotime($TempLastDate)) == 6)) $TempLastDate = date("Y-m-d",strtotime($TempLastDate." next day"));
- return $TempLastDate;
- }
-
- for($I = 12; $I <= 23; $I++) {
- echo "2011-08-".$I." = (".LastDayNotWeekEnd("2011-08-".$I).",".NextDayNotWeekEnd("2011-08-".$I).")<br />";
- }
- ?>
on obtiendra le résultat suivant :
2011-08-12 = (2011-08-11,2011-08-15)2011-08-13 = (2011-08-12,2011-08-15)
2011-08-14 = (2011-08-12,2011-08-15)
2011-08-15 = (2011-08-12,2011-08-16)
2011-08-16 = (2011-08-15,2011-08-17)
2011-08-17 = (2011-08-16,2011-08-18)
2011-08-18 = (2011-08-17,2011-08-19)
2011-08-19 = (2011-08-18,2011-08-22)
2011-08-20 = (2011-08-19,2011-08-22)
2011-08-21 = (2011-08-19,2011-08-22)
2011-08-22 = (2011-08-19,2011-08-23)
2011-08-23 = (2011-08-22,2011-08-24)
L'exemple suivant permet de retourner le nombre de jours entre deux dates :
- <?php
- function days_between($StartDate,$EndDate) {
- return ceil(abs(strtotime($StartDate) - strtotime($EndDate)) / 86400);
- }
-
- echo "Nombre de jours entre 2014-01-01 et 2015-01-01 = ". days_between("2014-01-01","2015-01-01") . "<br />";
- echo "Nombre de jours entre 2015-01-01 et 2015-01-30 = ". days_between("2015-01-01","2015-01-30") . "<br />";
- echo "Nombre de jours entre 2015-01-01 et 2015-03-31 = ". days_between("2015-01-01","2015-03-31") . "<br />";
- ?>
on obtiendra le résultat suivant :
Nombre de jours entre 2014-01-01 et 2015-01-01 = 365Nombre de jours entre 2015-01-01 et 2015-01-30 = 29
Nombre de jours entre 2015-01-01 et 2015-03-31 = 89
Voici un exemple permettant de demander le nombre de jours ouvrables entre deux dates (sans distinction des jours fériés) :
- <?php
- function GetNumberBusinessDay($BeginDate,$EndDate) {
- $I = 0;
- for($CurrDate = $BeginDate; strtotime($CurrDate) <= strtotime($EndDate); $CurrDate = date("Y-m-d",strtotime($CurrDate." next day"))) {
- switch(date("w",strtotime($CurrDate))) {
- case 1:case 2:case 3:case 4:case 5:
- $I++;
- break;
- }
- }
- return $I;
- }
-
- echo "Jour ouvrable entre 2012-01-01 et 2012-01-28=". GetNumberBusinessDay("2012-01-01","2012-01-28")."<br />";
- echo "Jour ouvrable entre 2012-01-14 et 2012-01-16=". GetNumberBusinessDay("2012-01-14","2012-01-16")."<br />";
- echo "Jour ouvrable entre 2012-01-14 et 2012-01-15=". GetNumberBusinessDay("2012-01-14","2012-01-15")."<br />";
- echo "Jour ouvrable entre 2012-01-14 et 2012-01-14=". GetNumberBusinessDay("2012-01-14","2012-01-14")."<br />";
- echo "Jour ouvrable entre 2012-01-29 et 2012-02-04=". GetNumberBusinessDay("2012-01-29","2012-02-04")."<br />";
- echo "Jour ouvrable entre 2012-01-29 et 2012-02-04=". GetNumberBusinessDay("2012-01-01","2012-02-10")."<br />";
- ?>
on obtiendra le résultat suivant :
Jour ouvrable entre 2012-01-01 et 2012-01-28=20Jour ouvrable entre 2012-01-14 et 2012-01-16=1
Jour ouvrable entre 2012-01-14 et 2012-01-15=0
Jour ouvrable entre 2012-01-14 et 2012-01-14=0
Jour ouvrable entre 2012-01-29 et 2012-02-04=5
Jour ouvrable entre 2012-01-29 et 2012-02-04=30
L'exemple suivant permet d'écrire une date en français :
- function DateFrancais($date) {
- $day = array("Dimanche","Lundi","Mardi","Mercredi","Jeudi","Vendredi","Samedi");
-
- $month = array("","janvier","février","mars","avril","mai","juin","juillet","août","septembre","octobre","novembre","décembre");
- return $day[date("w", strtotime($date))] . ", " .
-
- date('j', strtotime($date))." ".
-
- $month[date("n", strtotime($date))] ." ".
-
- date('Y', strtotime($date));
- }
-
- echo "2013-01-01=".DateFrancais("2013-01-01")."<br />";
- echo "2013-4-10=".DateFrancais("2013-4-10")."<br />";
- echo "2013-11-30=".DateFrancais("2013-11-30")."<br />";
- ?>
on obtiendra le résultat suivant :
2013-01-01=Mardi, 1 janvier 20132013-4-10=Mercredi, 10 avril 2013
2013-11-30=Samedi, 30 novembre 2013
L'exemple suivant permet de vérifier que la date d'aujourd'hui est situé dans l'intervalle de date spécifié :
- <?php
- function betweenCurrDate($start, $end) {
- if(date('Y-m-d', strtotime($start)) > date('Y-m-d', strtotime($end))) {
- $temp = $start;
- $start = $end;
- $end = $temp;
- }
- return ((date('Y-m-d', strtotime($start)) <= date( 'Y-m-d' )) && (date('Y-m-d', strtotime($end)) >= date( 'Y-m-d' )));
- }
- echo "Date d'aujourd'hui: ".date( 'Y-m-d' ) . '<br />';
- echo '2014-11-20 .. 2015-03-31 = ', betweenCurrDate('2014-11-20', '2015-03-31') . '<br />';
- echo '2014-11-28 .. 2015-03-31 = ', betweenCurrDate('2014-11-28', '2015-03-31') . '<br />';
- echo '2014-11-29 .. 2015-03-31 = ', betweenCurrDate('2014-11-29', '2015-03-31') . '<br />';
- echo '2014-12-01 .. 2015-03-31 = ', betweenCurrDate('2014-12-01', '2015-03-31') . '<br />';
- echo '2015-03-31 .. 2014-11-20 = ', betweenCurrDate('2015-03-31', '2014-11-20') . '<br />';
- echo '2015-03-31 .. 2014-11-28 = ', betweenCurrDate('2015-03-31', '2014-11-28') . '<br />';
- echo '2015-03-31 .. 2014-11-29 = ', betweenCurrDate('2015-03-31', '2014-11-29') . '<br />';
- echo '2015-03-31 .. 2014-12-01 = ', betweenCurrDate('2015-03-31', '2014-12-01') . '<br />';
- ?>
on obtiendra le résultat suivant si la date d'aujourd'hui est le 28 novembre 2014 :
Date d'aujourd'hui: 2014-11-282014-11-20 .. 2015-03-31 = 1
2014-11-28 .. 2015-03-31 = 1
2014-11-29 .. 2015-03-31 =
2014-12-01 .. 2015-03-31 =
2015-03-31 .. 2014-11-20 = 1
2015-03-31 .. 2014-11-28 = 1
2015-03-31 .. 2014-11-29 =
2015-03-31 .. 2014-12-01 =
Voir également
Langage de programmation - PHP - Temps - Date de la Pâque
Langage de programmation - PHP - Référence de procédures et fonctions - strtotime
Références
PHP 4 - Guide du développeur, Edition First Interactive, Blake Schwendiman, 2002, ISBN: 2-84427-283-5, page 403