mktime
(PHP 4, PHP 5)
mktime — Retourne le timestamp UNIX d'une date
Description
$hour
= date("H")
[, int $minute
= date("i")
[, int $second
= date("s")
[, int $month
= date("n")
[, int $day
= date("j")
[, int $year
= date("Y")
[, int $is_dst
= -1
]]]]]]] )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 00:00:00 GMT) et le temps spécifié.
Les arguments peuvent être omis, de droite à gauche, et tous les arguments manquants sont utilisés avec la valeur courante de l'heure et du jour.
Notes
Note:
Depuis PHP 5.1, lorsqu'appelée sans argument, la fonction mktime() émet une alerte de type
E_STRICT
: utilisez la fonction time() à la place.
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
etyear
. 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 au valeur 2000 à 2069 et 70 à 100, correspondant au valeur 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. Cependant, avant PHP 5.1.0, cette intervalle était limitée de 1970 à 2038 sur quelques systèmes (i.e. Windows). -
is_dst
-
Ce paramètre peut être mis à 1 si l'heure d'hiver est appliquée (DST), 0 si elle ne l'est pas, et -1 (par défaut) si on ne sait pas. Si l'on ne sait pas, PHP tente de le traiter lui-même. Ceci peut occasionner des résultats inattendus (mais néanmoins correct). Quelques temps sont invalides si DST est activé sur les systèmes où PHP fonctionne ou
is_dist
est défini à 1. Si DST est activé e.g. 2:00, tous les temps entre 2:00 et 3:00 sont invalides et la fonction mktime() retourne une valeur indéfinie (généralement une valeur négative). Quelques systèmes (e.g. Solaris 8) activent DST à minuit, donc, le temps 0:30 du jour lorsque DST est activé est évalué à 23:30 du jour précédent.Note:
Depuis PHP 5.1.0, ce paramètre est obsolète. Comme résultat, le nouveau gestionnaire de fuseau horaire doit être utilisé à la place.
Valeurs de retour
mktime() retourne un timestamp Unix des arguments donnés.
Si les arguments ne sont pas valides, la fonction retournera FALSE
(avant
PHP 5.1, elle retournait -1).
Erreurs / Exceptions
Chaque appel à une fonction date/heure générera un message de type
E_NOTICE
si le fuseau horaire n'est pas valide,
et/ou un message de type E_STRICT
ou E_WARNING
si vous
utilisez la configuration du système ou la variable d'environnement
TZ. Voir aussi date_default_timezone_set()
Historique
Version | Description |
---|---|
5.3.0 |
mktime() lance maintenant une alerte de type
E_DEPRECATED si le paramètre
is_dst est utilisé.
|
5.1.0 |
Le paramètre is_dst est obsolète. Fait que la fonction
retourne FALSE en cas d'erreur, au lieu de -1.
La fonction a été modifiée pour accepter la valeur zéro comme
année, mois ou bien jour.
|
5.1.0 |
Lorsqu'appelée sans argument, la fonction mktime() émet
une alerte de type E_STRICT . Utilisez la fonction
time() à la place.
|
5.1.0 |
Émet un message de type |
Exemples
Exemple #1 Exemple simple avec mktime()
<?php // Configuration du fuseau horaire. Disponible depuis PHP 5.1 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()
Notes
Avant PHP 5.1.0, les valeurs négatives des timestamp ne sont pas supportées sous toutes les versions actuelles de Microsoft Windows. De ce fait, l'intervalle valide pour les années est de 1970 à 2038, inclus.
Voir aussi
- checkdate() - Valide une date grégorienne
- gmmktime() - Retourne le timestamp UNIX d'une date GMT
- date() - Formate une date/heure locale
- time() - Retourne le timestamp UNIX actuel