6.6 Dates et heures
6 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
|
6.6.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 plateformes 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.
|
|