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.
|
|