Tho*_*uer 15
DateTime::createFromImmutable()在PHP中有一个方法的pull请求.它已经整合(1,2),只是被删除后没有任何理由.现在它似乎又回来了,但仅适用于PHP 7.3及更高版本.
所以这可能是目前最简单的方法:
$dateTime = new \DateTime();
$dateTime->setTimestamp($dateTimeImmutable->getTimestamp());
Run Code Online (Sandbox Code Playgroud)
如果您需要包含时区信息:
$dateTime = new \DateTime(null, $dateTimeImmutable->getTimezone());
$dateTime->setTimestamp($dateTimeImmutable->getTimestamp());
Run Code Online (Sandbox Code Playgroud)
        要使用正确的时区进行转换:
对于 PHP >= 7.3
DateTime::createFromImmutable(dateTimeImmutable);
Run Code Online (Sandbox Code Playgroud)
对于 PHP <= 7.2
DateTime::createFromFormat(
   DateTimeInterface::ATOM, 
   $dateTimeImmutable->format(DateTimeInterface::ATOM)
);
Run Code Online (Sandbox Code Playgroud)