(PHP 4, PHP 5, PHP 7, PHP 8)
mktime —
Retourne l'horodatage UNIX d'une date
Description
mktime(
int
$hour
,
?int
$minute
=
null
,
?int
$second
=
null
,
?int
$month
=
null
,
?int
$day
=
null
,
?int
$year
=
null
): int|false
Les arguments optionnels ou null
peuvent être omis, de droite à gauche,
et tous les arguments manquants sont utilisés avec la valeur
courante de l'heure et du jour.
Avertissement
Veuillez noter que l'ordre des arguments est dans un ordre impair:
month
, day
,
year
, et non dans l'ordre plus raisonnable que
serait year
, month
,
day
.
Appeler mktime() sans arguments n'est pas supporté.
Cela aura pour résultat de lancer une ArgumentCountError.
time() peut être utilisé pour récupérer l'horodatage courant.
Liste de paramètres
-
hour
-
Le nombre d'heures depuis le début de la journée fixée par les paramètres
month
, day
et year
.
Les valeurs négatives font références aux heures avant minuit du jour en question.
Les valeurs supérieures à 23 font références aux heures associées pour le(s)
jour(s) suivant(s).
-
minute
-
Le nombre de minutes depuis le début de l'heure hour
.
Les valeurs négatives font références aux minutes de l'heure précédente.
Les valeurs supérieures à 59 font références aux minutes associées
pour l'(les) heure(s) suivante(s).
-
second
-
Le nombre de secondes depuis le début de la minute minute
.
Les valeurs négatives font références aux secondes de la minute précédente.
Les valeurs supérieures à 59 font références aux secondes associées à
la(les) minute(s) suivante(s).
-
month
-
Le nombre de mois depuis la fin de l'année précédente.
Les valeurs comprises entre 1 et 12 font références aux mois
du calendrier normal de l'année en question. Les valeurs inférieures à
1 (y compris les valeurs négatives) font références aux mois de l'année
précédente dans l'ordre inverse, aussi, 0 correspond à décembre, -1 à novembre, etc.
Les valeurs supérieures à 12 font références au mois correspondant dans l'(les) année(s)
suivante(s).
-
day
-
Le nombre de jours depuis la fin du mois précédent. Les valeurs comprises
entre 1 et 28, 29, 30, 31 (suivant le mois) font références aux jours normaux
dans le mois courant. Les valeurs inférieures à 1 (y compris les valeurs négatives)
font références aux jours du mois précédent, aussi, 0 correspond au dernier jour du
mois précédent, -1, le jour d'avant, etc. Les valeurs supérieures au nombre
de jours du mois courant font références aux jours correspondants du(des) mois suivant(s).
-
year
-
L'année, peut être sur deux ou quatre chiffres, avec des valeurs
allant de 0 à 69, correspondant aux valeurs 2000 à 2069 et 70 à 100,
correspondant aux valeurs 1970 à 2000. Sur les systèmes où time_t
un entier signé sur 32bits, ce qui est le plus courant de nos jours,
la période valide pour year
est
quelque part près de 1901 et 2038.
Valeurs de retour
mktime() retourne un horodatage Unix des arguments donnés,
ou false
si l'horodatage ne rentre pas dans un entier PHP.
Historique
Exemples
Exemple #1 Exemple simple avec mktime()
<?php
// Configuration du fuseau horaire.
date_default_timezone_set('UTC');
// Affiche : July 1, 2000 est un Saturday
echo "July 1, 2000 est un " . date("l", mktime(0, 0, 0, 7, 1, 2000));
// Affiche quelque chose comme : 2006-04-05T01:02:03+00:00
echo date('c', mktime(1, 2, 3, 4, 5, 2006));
?>
Exemple #2 Exemple avec mktime()
mktime() est pratique pour faire des calculs de dates et des
validations, car elle va automatiquement corriger les valeurs invalides.
Par exemple, toutes les lignes suivantes vont retourner la même date :
"Jan-01-1998".
<?php
echo date("M-d-Y", mktime(0, 0, 0, 12, 32, 1997));
echo date("M-d-Y", mktime(0, 0, 0, 13, 1, 1997));
echo date("M-d-Y", mktime(0, 0, 0, 1, 1, 1998));
echo date("M-d-Y", mktime(0, 0, 0, 1, 1, 98));
?>
Exemple #3 Dernier jour d'un mois
Le dernier jour d'un mois peut être décrit comme
le jour "0" du mois suivant, et non pas le jour -1. Les deux
exemples suivants vont donner :
"Le dernier jour de Février 2000 est: 29".
<?php
$lastday = mktime(0, 0, 0, 3, 0, 2000);
echo strftime("Le dernier jour de Fevrier 2000 est : %d", $lastday);
$lastday = mktime(0, 0, 0, 4, -31, 2000);
echo strftime("Le dernier jour de Fevrier 2000 est : %d", $lastday);
?>
Voir aussi
- DateTimeImmutable
- checkdate() - Valide une date grégorienne
- gmmktime() - Retourne le timestamp UNIX d'une date GMT
- date() - Formate un horodatage Unix
- time() - Retourne l'horodatage UNIX actuel