PHP la fonction strtotime()

PHP cours tutorial

La fonction strtotime()

La fonction de php strtotime() analyse une date ou une heure textuelle anglaise( au format anglaise) en timestamp
La fonction 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 UTC), relativement au timestamp now, ou à la date courante si ce dernier est omis.
La foction strtotime () retourne un timestamp en cas de succès, FALSE sinon. Avant PHP 5.1.0, cette fonction retournait -1 en cas d'échec.

Syntaxe

strtotime(time,now)



Liste de paramètres de la fonction strtotime()


Paramètre Description
timeRequis.Specifie une chaîne de temps date/heure à analyser.
nowFacultatif. Specifie Le timestamp, représentant la date courante, utilisé pour le calcul relative des dates.

Exemple avec strtotime()

Sélectionner le code


<?php
echo strtotime("now"), "<br />";
echo strtotime("10 September 2000"), "<br />";
echo strtotime("+1 day"), "<br />";
echo strtotime("+1 week"), "<br />";
echo strtotime("+1 week 2 days 4 hours 2 seconds"), "<br />";
echo strtotime("next Thursday"), "<br />";
echo strtotime("last Monday"), "<br />";
?>

 
L'exemple ci-dessus va afficher :

1653678310
968544000
1653764710
1654283110
1654470312
1654128000
1653264000

Exemple 2 : Comment calculer le nombre de jours entre deux dates avec la fonctin PHP strtotime()

Dans cet exemple nous avons deux dates sous format anglaise :
Date 1 : 2012-06-01 02:12:51
Date 2 : 2012-07-12 11:10:00
Comment faire pour calculer le nombre de jours entre ces deux dates avec PHP.
Nous allons utiliser la fonction strtotime()
puis la fonction round() pour arrondir.

Sélectionner le code


<?php
error_reporting(E_ALL);
ini_set("display_errors", 1);
date_default_timezone_set('Europe/Paris');
$date_debut = strtotime("2012-06-01 02:12:51"); 
$date_fin = strtotime("2012-07-01 11:10:00");
echo "Il y a ".round(($date_fin - $date_debut)/60/60/24,0)." jours entre les deux dates";
?>

 
L'exemple ci-dessus va afficher :

Il y a 30 jours entre les deux dates

Comment ajouter des jours à une date en PHP

Pour ajouter des jours à une date on peut procéder de différentes manières. C’est très facile à faire en utilisant des fonctions intégrées comme strtotime(), date() en PHP.
Dans cet exemple nous avons une date sous format anglaise :
Date : 2012-06-01 02:12:51
Et nous voulons y ajouter 20 Jours
Voici le code source pour ajouter 20 jours à la date :

Sélectionner le code


<?php
error_reporting(E_ALL);
ini_set("display_errors", 1);
date_default_timezone_set('Europe/Paris');

$date = "2012-06-01 02:12:51";
echo date('Y-m-d', strtotime($date. ' + 20 days'));
?>

 
L'exemple ci-dessus va afficher :

2012-02-04



Par carabde 20 Aout 2014