8.19 Dates et heures
8 Référence des fonctions
Manuel PHP
. Introduction . Pré-requis . Installation . Configuration à l'exécution . Types de ressources . Constantes pré-définies . checkdate . date_sunrise . date_sunset . date . getdate . gettimeofday . gmdate . gmmktime . gmstrftime . idate . localtime . microtime . mktime . strftime . strptime ->strtotime . time
|
8.19.22 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 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. En cas d'erreur,
-1
est retourné.
Comme
strtotime
suit la syntaxe de date GNU,
vous pouvez lire le manuel GNU intitulé
Date Input Formats .
Ci-dessous, vous trouverez une syntaxe valide pour le paramètre
time
.
Attention |
Dans les versions de PHP supérieures à 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.
|
Exemple avec strtotime |
<?php // l'exemple n'est pas traduit, car cela ne fonctionne qu'en anglais 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 des erreurs avec strtotime |
<?php $str = 'Pas une bonne date'; if (($timestamp = strtotime($str)) === -1) { echo "La chaîne ($str) est bogus"; } else { echo "$str == ". date('l dS of F Y h:i:s A',$timestamp); } ?>
|
Note |
L'intervalle de validité d'un timestamp va du
Vendredi 13 Décembre 1901 20:45:54 GMT au Mardi 19 Jan 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.
|
|