fixed the conversion of the special '0000-00-00 00:00' date
authorFabien Potencier <fabien.potencier@gmail.com>
Sat, 4 Jan 2014 23:37:22 +0000 (00:37 +0100)
committerFabien Potencier <fabien.potencier@gmail.com>
Sun, 5 Jan 2014 00:00:18 +0000 (01:00 +0100)
CHANGELOG
lib/Twig/Extension/Core.php

index 6d0a147..cbc8805 100644 (file)
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,5 +1,6 @@
 * 1.15.1 (2013-XX-XX)
 
+ * fixed the conversion of the special '0000-00-00 00:00' date
  * added an error message when trying to import an undefined block from a trait
 
 * 1.15.0 (2013-12-06)
index 14f73d2..9b4974a 100644 (file)
@@ -504,15 +504,18 @@ function twig_date_converter(Twig_Environment $env, $date = null, $timezone = nu
         $defaultTimezone = $timezone;
     }
 
+    // immutable dates
+    if ($date instanceof DateTimeImmutable) {
+        return false !== $timezone ? $date->setTimezone($defaultTimezone) : $date;
+    }
+
     if ($date instanceof DateTime || $date instanceof DateTimeInterface) {
-        $returningDate = new DateTime($date->format('c'));
+        $date = clone $date;
         if (false !== $timezone) {
-            $returningDate->setTimezone($defaultTimezone);
-        } else {
-            $returningDate->setTimezone($date->getTimezone());
+            $date->setTimezone($defaultTimezone);
         }
 
-        return $returningDate;
+        return $date;
     }
 
     $asString = (string) $date;