2017-01-23 7 views

答えて

2

ありPHPでDateTime::createFromImmutable()メソッドのプル要求があるが、それはまだ統合されていないように見える:
https://www.reddit.com/r/PHP/comments/300tib/datetimecreatefromimmutable_method_php_7_merged/?st=iyac0id6&sh=8342be48
https://github.com/php/php-src/pull/1145

だから、これはおそらく今最も簡単な方法です:

$dateTime = new \DateTime(); 
$dateTime->setTimestamp($dateTimeImmutable->getTimestamp()); 

あなたはタイムゾーン情報を含める必要がある場合:

$dateTime = new \DateTime(null, $dateTimeImmutable->getTimezone()); 
$dateTime->setTimestamp($dateTimeImmutable->getTimestamp()); 
+0

これは、「転送」タイムゾーン情報ません... –

+0

Glavić@私は '新しい\のDateTime($でしょう –

+0

:-)答えを編集しました不変 - >フォーマット(\ DateTime :: ATOM)) '。これは私が現時点で想像することができる、きちんとしたデータ損失(タイムゾーンなど)です。 –

0

あなたはワンライナーとしてこれを行うことができます。

$dateTime = new DateTime("@{$dateTimeImmutable->getTimeStamp()}");