Browse Source

Merge pull request #5879 from PGBI/3.0

Made Cake\Database\Type\DateTimeType::marshal handle timezones
Mark Story 11 years ago
parent
commit
ca19dae434

+ 2 - 1
src/Database/Type/DateTimeType.php

@@ -157,8 +157,9 @@ class DateTimeType extends \Cake\Database\Type
             $value['minute'],
             $value['second']
         );
+        $tz = isset($value['timezone']) ? $value['timezone'] : null;
 
-        return new $class($format);
+        return new $class($format, $tz);
     }
 
     /**

+ 6 - 0
tests/TestCase/Database/Type/DateTimeTypeTest.php

@@ -145,6 +145,12 @@ class DateTimeTypeTest extends TestCase
                 ],
                 new Time('2014-02-14 00:00:00')
             ],
+            [
+                [
+                    'year' => 2014, 'month' => 2, 'day' => 14, 'hour' => 12, 'minute' => 30, 'timezone' => 'Europe/Paris'
+                ],
+                new Time('2014-02-14 11:30:00', 'UTC')
+            ],
 
             // Invalid array types
             [