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