Made Cake\Database\Type\DateTimeType::marshal handle timezones
@@ -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);
}
/**
@@ -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
[