strptime
<<<
strtotime time
>>>

6.6 Dates et heures
6 Référence des fonctions
 Manuel PHP

Introduction
Pré-requis
Installation
Configuration à l'exécution
Configuration à l'exécution
Types de ressources
Constantes pré-définies
checkdate
date_default_timezone_get
date_default_timezone_set
date_sunrise
date_sunset
date
getdate
gettimeofday
gmdate
gmmktime
gmstrftime
idate
localtime
microtime
mktime
strftime
strptime
->strtotime
time

6.6.25 strtotime() Transforme un texte anglais en timestamp

[ Exemples avec strtotime ]   PHP 3 >= 3.0.12, PHP 4, PHP 5

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.

    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.

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

Version Description
5.1.0 La fonction retourne maintenant FALSE en cas d'échec, au lieu de -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";
?>

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);
}
?>

Attention

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.

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.

<< strtotime >>
strptime Dates et heures time