strptime
time
Fonctions Date/Heure
PHP Manual

# strtotime

(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 UTC), 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().

### Liste de paramètres

`time`

  Une chaîne date/heure. Les formats valides sont expliqués dans la documentation sur les formats Date et Heure.

`now`

  Le timestamp, représentant la date courante, utilisé pour le calcul relative des dates.

### 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` 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 | Avant PHP 5.3.0, 24:00 n'était pas un format valide et strtotime() retournait `FALSE`.
5.2.7 | En PHP 5 avant 5.2.7, demander le jour de la semaine correspondant au premier jour du mois ajoute de manière incorrecte une semaine au timestamp retourné. Ceci a été corrigé dans PHP 5.2.7 et supérieur.
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.
5.0.2 | En PHP 5 jusqu'à 5.0.2, "now" et les autres temps relatifs sont mal calculés depuis minuit d'aujourd'hui. Dans les autres versions, le calcul est correct.
5.0.0 | Les microsecondes sont accéptées mais ignorées.
4.4.0 | En PHP avant 4.4.0, "next" est mal calculé et considère +2. Une solution typique à ce problème est d'utiliser "+1".

### 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 \o\f F Y h:i:s A', $timestamp);
}
?>`

### Notes

> Note: Si le chiffre des années est précisé sur deux chiffres, les valeurs entre 00-69 correspondent à 2000-2069 et 70-99 à 1970-1999. Voyez les notes après concernant les différences possibles entres systèmes 32bits (des dates peuvent échoué après le 19/01/2038 à 03:14:07).

> Note: L'intervalle de validité d'un timestamp va du Vendredi 13 Décembre 1901 20:45:54 UTC au Mardi 19 Janvier 2038 03:14:07 UTC. (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() - Analyse une date générée par strftime

strptime
time
Fonctions Date/Heure
PHP Manual