diff --git a/src/I18n/Time.php b/src/I18n/Time.php index 297cc5c2a38..3396ad13fb0 100644 --- a/src/I18n/Time.php +++ b/src/I18n/Time.php @@ -17,6 +17,7 @@ use Cake\Chronos\ChronosInterface; use Cake\Chronos\MutableDateTime; use DateTime; +use DateTimeImmutable; use DateTimeZone; use IntlDateFormatter; use JsonSerializable; @@ -102,6 +103,9 @@ class Time extends MutableDateTime implements JsonSerializable */ public function __construct($time = null, $tz = null) { + if ($time instanceof DateTimeImmutable) { + $time = $time->toMutable(); + } if ($time instanceof DateTime) { $tz = $time->getTimeZone(); $time = $time->format('Y-m-d H:i:s'); diff --git a/src/View/Helper/TimeHelper.php b/src/View/Helper/TimeHelper.php index bb2925fb563..51765c5ad84 100644 --- a/src/View/Helper/TimeHelper.php +++ b/src/View/Helper/TimeHelper.php @@ -333,10 +333,6 @@ public function i18nFormat($date, $format = null, $invalid = false, $timezone = return $invalid; } - if ($date instanceof \DateTimeImmutable) { - $date = $date->toMutable(); - } - try { $time = new Time($date); return $time->i18nFormat($format, $timezone);