Retourne le timestamp UNIX d'une date.
int mktime
(int hour, int minute, int second, int month, int day, int year, int
is_dst
)
ATTENTION : l'ordre des arguments est
différent de celui de la commande UNIX habituelle mktime(),
et fournit des résultats aléatoires si on oublie cet
ordre. C'est une erreur très commune que de se tromper de sens.
mktime() retourne un timestamp UNIX
correspondant aux arguments fournis. Ce timestamp est un
entier long, contenant le nombre de secondes entre le début
de l'époque UNIX (1er Janvier 1970) et le temps
spécifié.
Les arguments peuvent être omis, de gauche à droite,
et tous les arguments manquants sont utilisés avec la valeur
courante de l'heure et du jour.
is_dst peut être mis à 1 si
l'heure d'hiver est appliquée, 0 si elle ne l'est pas, et -1
(par défaut) si on ne sait pas.
Note :
is_dst a été ajouté
à partir de la version 3.0.10.
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".
Exemple mktime()
<?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));
?>
year peut prendre deux ou quatre chiffres,
avec les valeurs entre 0-69 qui correspondent à 2000-2069 et
70-99 à 1970-1999 (sur les systèmes où
time_t sont sur des entiers 32bit signés, comme cela se
fait le plus souvent de nos jours, year
est valide dans l'intervalle 1902 et 2037.
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".
Dernier jour du mois
<?php
$lastday = mktime (0,0,0,3,0,2000);
echo strftime ("Le dernier jour de Février 2000 est: %d", $lastday);
$lastday = mktime (0,0,0,4,-31,2000);
echo strftime ("Le dernier jour de Février 2000 est: %d", $lastday);
?>
Voir aussi
date() et
time().