Home » Programmation Web » Langages Web » Création d’une intervalle de temps en PHP

Création d’une intervalle de temps en PHP

Aujourd’hui, j’ai envie de partager avec vous, un exemple de code en PHP.

Ce code permet la création d’un intervalle d’un an, mois par mois.

Présentation du code

Voici ci-dessous, l’exemple de code :

<?php
$intervalleDate = [];
$date		= new DateTime();

$date->sub(new DateInterval('P1Y'));  

for ($i = 0; $i < 12; $i++) {
    $date->add(new DateInterval('P1M'));
    $strDate = $date->format('Y-m');
    $intervalleDate[] = $strDate;
}

En faisant un var_dump de la variable $intervalleDate, cela afficherai la réponse ci-dessous.

array (size=12)
  0 => string '2018-09' (length=7)
  1 => string '2018-10' (length=7)
  2 => string '2018-11' (length=7)
  3 => string '2018-12' (length=7)
  4 => string '2019-01' (length=7)
  5 => string '2019-02' (length=7)
  6 => string '2019-03' (length=7)
  7 => string '2019-04' (length=7)
  8 => string '2019-05' (length=7)
  9 => string '2019-06' (length=7)
  10 => string '2019-07' (length=7)
  11 => string '2019-08' (length=7)

Explication du code

Comme vous pouvez le voir, le script PHP utilise la classe DateTime, élément important de PHP pour manipuler les dates.

Nous pouvons voir aussi l’utilisation de la classe DateInterval, permettant la spécification de l’intervalle voulu.
Pour le premier DateInterval, le paramètre P1Y signifie period 1 Year. Pour le second DateInterval, P1M signifie period 1 Month.

Il est possible de faire beaucoup plus avec cette fonction. Pour cela, je vous ai laissé le lien de cette classe du manuel PHP.

Parmi les fonctionnalités de DateTime, il existe sub() et add(), qui respectivement soustrait et ajoute les durées souhaité.

Liens

En espérant que ce petit code vous aura appris quelques choses.

Posté dans Langages Web, Programmation Web

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.

  • RSS
  • Facebook
  • LinkedIn
  • Twitter
  • YouTube