Aller au contenu

date_interval_create_from_date_string()

Qu'est-ce que date_interval_create_from_date_string() ?

La fonction date_interval_create_from_date_string() est une fonction PHP intégrée qui crée un nouvel objet DateInterval à partir d'une représentation sous forme de chaîne de l'intervalle. Elle accepte un seul paramètre de type chaîne.

Note : Cette fonction a été dépréciée dans PHP 8.2 et est prévue pour être supprimée dans une version future.

Comment fonctionne-t-elle ?

La fonction analyse la chaîne fournie à l'aide de strtotime(). Les formats courants incluent des chaînes de temps relatives telles que '+1 day', '1 week' ou '2 hours 30 minutes'.

Elle retourne un objet DateInterval en cas de succès, ou false si la chaîne ne peut pas être analysée.

Gestion des erreurs : Vérifiez toujours la valeur de retour avant d'utiliser l'objet. Pour les versions modernes de PHP, il est recommandé d'utiliser directement le constructeur DateInterval comme solution de secours fiable.

Voici un exemple d'utilisation de la fonction :

Utilisation de base

php
<?php

$interval = date_interval_create_from_date_string('1 day');

Dans cet exemple, nous créons un nouvel objet DateInterval qui représente un intervalle d'un jour.

Exemples

Examinons quelques exemples d'utilisation de la fonction.

Exemple 1 : Ajouter un intervalle à une date

Cet exemple crée un intervalle d'un jour et l'ajoute à un objet DateTime :

Ajout d'un intervalle à une date en PHP

php
<?php

$date = new DateTime('2023-03-03');
$interval = date_interval_create_from_date_string('1 day');
$date->add($interval);
echo $date->format('Y-m-d');

La sortie de ce code sera :


console
2023-03-04

Exemple 2 : Formater un intervalle

Cet exemple crée un intervalle d'un mois et le formate à l'aide de DateInterval::format() :

Formatage d'un intervalle de date en PHP

php
<?php

$interval = date_interval_create_from_date_string('1 month');
echo $interval->format('%m months');

La sortie de ce code sera :


console
01 months

Conseils pour optimiser les performances

Voici quelques conseils pour optimiser les performances de la fonction :

  • Utilisez des chaînes relatives concises (par ex., '1 day' au lieu de 'P0Y0M1D') pour réduire la surcharge d'analyse.
  • Mettez en cache les objets DateInterval lorsqu'ils sont réutilisés dans la même exécution de script afin de minimiser l'instanciation d'objets.
  • Évitez d'instancier des intervalles dans des boucles serrées ; définissez-les à l'avance en dehors de la boucle et réutilisez-les si nécessaire.

Conclusion

Dans cet article, nous avons discuté de la fonction date_interval_create_from_date_string(). Notez qu'elle a été dépréciée dans PHP 8.2 et est prévue pour être supprimée dans une version future. Pour les versions modernes de PHP, utilisez directement le constructeur DateInterval (par ex., new DateInterval('P1D')). Nous avons expliqué le fonctionnement de la fonction, fourni des exemples et offert des conseils pour optimiser ses performances. Nous espérons que cet article vous a été utile.

Pratique

Que fait la fonction PHP date_interval_create_from_date_string ?

Trouvez-vous cela utile?

Aperçu dual-run — comparez avec les routes Symfony en production.