Manuel PHP
Précédent |  | Suivant

# strtotime

(PHP 3 >= 3.0.12, PHP 4, PHP 5)

strtotime -- Transforme un texte anglais en timestamp

## Description

int strtotime ( string time [, int now] )

strtotime() essaye de lire une date au format anglais US dans la chaîne time, et de la transformer en timestamp Unix (le nombre de secondes depuis le 1er Janvier 1970 à 00:00:00 GMT), relativement au timestamp now, ou à la date courante si ce dernier est omis.

Cette fonction devrait utiliser la variable d'environnement TZ (si disponible) pour calculer le timestamp. Depuis PHP 5.1.0, il y a une façon simple de définir un fuseau horaire à utiliser avec toutes les fonctions de date/heure. Le processus est expliqué dans la page du manuel de la fonction date_default_timezone_get().

> Note : Si l'année est spécifiée sur deux chiffres, les valeurs entre 0 et 69 correspondent aux années entre 2000 et 2069 et les valeurs entre 70 et 100 correspondent aux années entre 1970 et 2000.

## Liste de paramètres

time

  La chaîne à analyser, en accord avec la syntaxe des dates GNU. Avant PHP 5.0, les microsecondes ne sont pas autorisées dans ce paramètre, depuis PHP 5.0, elles sont autorisées mais ignorées.

now

  Le timestamp utilisé pour calculer la valeur retournée.

## Valeurs de retour

Retourne un timestamp en cas de succès, `FALSE` sinon. Avant PHP 5.1.0, cette fonction retournait -1 en cas d'échec.

## 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
--- | ---
5.1.0 | La fonction retourne maintenant `FALSE` en cas d'échec, 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 strtotime()

`<?php echo strtotime("now"), "\n"; echo strtotime("10 September 2000"), "\n"; echo strtotime("+1 day"), "\n"; echo strtotime("+1 week"), "\n"; echo strtotime("+1 week 2 days 4 hours 2 seconds"), "\n"; echo strtotime("next Thursday"), "\n"; echo strtotime("last Monday"), "\n"; ?>`

Exemple 2. Vérification d'erreur

`<?php $str = 'Pas bon'; // Avant PHP 5.1.0, vous devez comparer avec -1, au lieu de false if (($timestamp = strtotime($str)) === false) { echo "La chaîne ($str) est boguée"; } else { echo "$str == " . date('l dS of F Y h:i:s A', $timestamp); } ?>`

## Notes

Avertissement
En PHP 5 supérieur à 5.0.2, "now" et les autres valeurs de temps relatives sont incorrectement calculées depuis minuit du jour courant. Ce comportement diffère des versions antérieures où elles étaient correctement calculées depuis l'heure courante.

Avertissement
Dans les versions antérieures à PHP 4.4, "next" est calculé de façon incorrecte comme +2. Une solution consiste à utiliser "+1".

> Note : L'intervalle de validité d'un timestamp va du Vendredi 13 Décembre 1901 20:45:54 GMT au Mardi 19 Janvier 2038 03:14:07 GMT. (Cela correspond aux dates maximales et minimales pour un entier de 32 bits signé.) Toutes les plates-formes ne supportent pas les timestamp négatifs et dans ce cas, l'intervalle de date sera limitée à environs l'époque Unix. Cela signifie que les dates antérieures au 1 Janvier 1970 ne fonctionneront pas sous Windows, quelques distributions Linux et quelques autres systèmes. PHP 5.1.0 ainsi que les versions plus récentes outrepassent cette limitation.

## Voir aussi

strptime()

Précédent | Sommaire | Suivant
strptime | Niveau supérieur | time