From 090cc5bad47473de2c33675e071871e08a100d41 Mon Sep 17 00:00:00 2001 From: ADmad Date: Fri, 23 Jun 2017 01:04:45 +0530 Subject: [PATCH] Use database type class instances to marshal date time strings. --- src/View/Widget/DateTimeWidget.php | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/src/View/Widget/DateTimeWidget.php b/src/View/Widget/DateTimeWidget.php index f9d1d66f..e74c9dbe 100644 --- a/src/View/Widget/DateTimeWidget.php +++ b/src/View/Widget/DateTimeWidget.php @@ -2,9 +2,8 @@ namespace CrudView\View\Widget; use Cake\Core\Configure; -use Cake\I18n\Date; +use Cake\Database\Type; use Cake\I18n\I18n; -use Cake\I18n\Time; use Cake\View\Form\ContextInterface; use DateTimeInterface; use DateTimeZone; @@ -42,12 +41,14 @@ public function render(array $data, ContextInterface $context) } if (!($val instanceof DateTimeInterface) && !empty($val)) { - if ($type === 'date') { - $val = Date::parseDate($val); - } elseif ($type === 'time') { - $val = Time::parseTime($val); - } else { - $val = Time::parseDateTime($val); + switch ($type) { + case 'date': + case 'time': + $val = Type::build($type)->marshal($val); + break; + + default: + $val = Type::build('datetime')->marshal($val); } }