Articles
This document is also available in English
La fonction la plus couramment utilisée pour créer des dates est sans nul doute la fonction mktime(). Pourtant celle-ci est loin d'être pratique à utiliser. Il faut bien connaître la liste des arguments, et ne jamais se tromper entre les jours et les mois...
Une fonction beaucoup plus pratique est la fonction strtotime(). Le but de cette fonction est de transformer un texte anglais en timestamp.
Exemple n°1 :
<?php echo strtotime('2007-04-18'); /** * Résultat : 1176847200 */ ?>
L'un des intérêts de cette fonction est de pouvoir créer des dates futures ou passées très simplement. Pour cela il vous suffit de respecter quelques standards.
Exemple n°2 :
<?php /** * Aujourd'hui, le 2007-05-16 */ echo date('Y-m-d', strtotime('-1 month +5 days')); /** * Résultat : 2007-03-23 */ ?>
La fonction strtotime() peut prendre un deuxième paramètre qui est un timestamp. Ainsi la date générée sera relative au timestamp passé en paramètre. Par exemple, si on souhaite savoir quel jour sera la Saint Valentin l'année prochaine.
Exemple n°3 :
<?php /** * On met l'application en français */ setlocale(LC_ALL, 'fr_FR', 'fra'); echo strftime('%A', strtotime('+1 year', strtotime('14 february'))); /** * Résultat : jeudi */ echo strftime('%Y', strtotime('today'); /** * Résultat : 2007 */ echo strftime('%A', strtotime('next monday'); /** * Résultat : lundi, bien sur. */ ?>
La fonction strftime() permet de formater un timestamp en fonction de la langue de l'application.
A mémoriser :
- Disponible depuis PHP4.
La fonction strtotime() retourne FALSE si le format de date lui est incompréhensible.
- Les formats de dates possibles : http://www.gnu.org/software/tar/manual/html_node/tar_109.html. La version PHP supporte une grande partie de ces formats, mais en supporte aussi des spécifiques.
- Il est conseillé de définir le fuseau horaire avant l'utilisation des fonctions de dates, voir : http://fr.php.net/manual/fr/function.date-default-timezone-set.php
| < Précédent | Suivant > |
|---|
Commentaires
Vous pouvez ajouter votre commentaire! |
Vous devez vous connecter pour commenter


