Manuel PHP
Précédent |  | Suivant

# mktime

(PHP 3, PHP 4, PHP 5)

mktime -- Retourne le timestamp UNIX d'une date

## Description

int mktime ( [int hour [, int minute [, int second [, int month [, int day [, int year [, int is_dst]]]]]]] )

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.

## Liste de paramètres

`hour`

  L'heure.

`minute`

  Les minutes

`second`

  Les secondes.

`month`

  Le nombre représentant le mois.

`day`

  Le nombre représentant le jour.

`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, cette limitation n'est plus valable depuis PHP 5.1.0.

`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 déprécié. 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` si vous utilisez la configuration du système ou la variable d'environnement `TZ`. Voir aussi date_default_timezone_set()

## Historique

Version | Description
--- | ---
3.0.10 | Ajout du paramètre `is_dst`
5.1.0 | Le paramètre `is_dst` est déprécié. Fait que la fonction retourne `FALSE` en cas d'erreur, au lieu de `-1`.
5.1.0 | Émet un message de type `E_STRICT` et `E_NOTICE` lors d'erreurs de fuseaux horaires.

## Exemples

Exemple 1. 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 2. Dernier jour du mois suivant

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 Fevrier 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); ?>`

## Notes

Attention
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

gmmktime()
date()
time()

Précédent | Sommaire | Suivant
microtime | Niveau supérieur | strftime