Récupérer un objet DateTime depuis un objet DateTimeImmuntable avec PHP
Publié le 03/01/2023 • Actualisé le 03/01/2023
Dans ce bout de code, nous voyons comment récupérer un objet DateTime depuis un objet DateTimeImmuntable avec PHP. On peut utiliser la fonction setTimestamp() ou la fonction statique createFromImmutable, ce qui est plus élégant à mon avis.
<?php
declare(strict_types=1);
namespace App\Controller\Snippet;
/**
* J'utilise un trait PHP afin d'isoler chaque snippet dans un fichier.
* Ce code doit être apellé d'un contrôleur Symfony étendant AbstractController (depuis Symfony 4.2)
* ou Symfony\Bundle\FrameworkBundle\Controller\Controller (Symfony <= 4.1).
* Les services sont injectés dans le constructeur du contrôleur principal.
*/
trait Snippet239Trait
{
public function snippet239(): void
{
$date = '2023-01-03';
// 1. with setTimeStamp
$immutable = new \DateTimeImmutable($date);
$mutable = (new \DateTime())->setTimestamp($immutable->getTimestamp());
echo $mutable->format(\DateTimeInterface::ATOM).PHP_EOL;
// 2. using createFromImmutable
$mutable = \DateTime::createFromImmutable($immutable);
echo $mutable->format(\DateTimeInterface::ATOM).PHP_EOL;
// That's it! 😁
}
}
Exécuter le snippet Plus sur Stackoverflow Lire la doc Snippet aléatoire
A vous de jouer !
Ces articles vous ont été utiles ? Vous pouvez m'aider à votre tour de plusieurs manières : (cliquez sur le lien "reply" dans à droite pour me contacter )
- Me remonter des erreurs ou typos.
- Me remonter des choses qui pourraient être améliorées.
- Aimez et repostez !
- Suivez moi sur Bluesky 🦋
- Inscrivez-vous au flux RSS.
- Cliquez sur les boutons Plus sur Stackoverflow pour me faire gagner des badges "annonceur" 🏅.
Merci et à très bientôt sur Strangebuzz ! 😉