Aller au contenu

Fonction PHP date_time_set()

En PHP, la méthode DateTime::setTime() est utilisée pour définir une nouvelle heure pour un objet DateTime donné. Cette méthode fait partie de la classe DateTime de PHP et peut être utilisée pour définir la partie heure d'un objet date/heure à une nouvelle valeur.

Syntaxe

La syntaxe de la méthode DateTime::setTime() est la suivante :

La syntaxe de la méthode DateTime::setTime()

php
$datetime->setTime($hour, $minute, $second, $microsecond);

Où :

  • $datetime est l'objet DateTime à modifier.
  • $hour est la nouvelle valeur de l'heure (0–23).
  • $minute est la nouvelle valeur de la minute (0–59).
  • $second est la nouvelle valeur de la seconde (0–59, optionnel, la valeur par défaut est 0).
  • $microsecond est la nouvelle valeur de la microseconde (0–999999, optionnel, la valeur par défaut est 0).

Remarque : Le fuseau horaire de l'objet DateTime est conservé lors de cette opération. La méthode modifie l'objet en place. Si les valeurs fournies dépassent leurs plages valides, PHP les normalise automatiquement (par exemple, l'heure 25 déborde sur le jour suivant) au lieu de lancer une exception.

Exemple d'utilisation

Examinons un exemple d'utilisation de la méthode DateTime::setTime() :

Exemple de la méthode PHP DateTime::setTime()

php
<?php
$date = new DateTime('2000-01-01 12:00:00');
$date->setTime(14, 30);
echo $date->format('Y-m-d H:i:s');

Dans cet exemple, nous créons d'abord un nouvel objet DateTime avec la date et l'heure définies sur '2000-01-01 12:00:00'. Nous utilisons ensuite la méthode setTime() pour définir l'heure à 14 et la minute à 30. Enfin, nous utilisons la méthode format() pour afficher la date et l'heure modifiées au format 'Y-m-d H:i:s'.

Comparaison de DateTime::setTime() avec d'autres fonctions

La méthode DateTime::setTime() est l'approche orientée objet standard en PHP pour modifier l'heure. Contrairement aux fonctions de date procédurales qui retournent de nouvelles chaînes ou nécessitent un traitement complexe, setTime() modifie directement l'objet DateTime en place, garantissant la sécurité des types et un comportement cohérent. Cela contraste avec DateTimeImmutable::setTime(), qui retourne une nouvelle instance au lieu de modifier l'objet d'origine.

Conclusion

La méthode DateTime::setTime() est un outil utile pour manipuler les dates et les heures en PHP. En fournissant un moyen simple de mettre à jour la partie heure d'un objet DateTime, elle offre une approche pratique et fiable pour la manipulation des dates/heures. Pour la gestion immuable des dates, utilisez DateTimeImmutable::setTime(), qui retourne une nouvelle instance au lieu de modifier l'objet d'origine.

Pratique

Que fait la fonction date_default_timezone_set() en PHP ?

Trouvez-vous cela utile?

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