From 60b4b702fc98838961dcaa4653a46d2274588a46 Mon Sep 17 00:00:00 2001 From: Prasad <prasad@vtiger.com> Date: Tue, 18 Feb 2020 13:12:21 +0530 Subject: [PATCH] Fixes #1249: Date format conversion before passing it to db --- include/fields/DateTimeField.php | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) diff --git a/include/fields/DateTimeField.php b/include/fields/DateTimeField.php index b0a949c1a..56cdfb0e7 100644 --- a/include/fields/DateTimeField.php +++ b/include/fields/DateTimeField.php @@ -370,18 +370,29 @@ class DateTimeField { $user = $current_user; } - if($user->date_format == 'mm-dd-yyyy') { + $y = false; + $m = false; + $d = false; + $time = false; + + if($user->date_format) { list($date, $time) = explode(' ', $value); if(!empty($date)) { - list($m, $d, $y) = explode('-', $date); - if(strlen($m) < 3) { - $time = ' '.$time; - $value = "$y-$m-$d".rtrim($time); + switch ($user->date_format) { + case 'mm.dd.yyyy': list($m, $d, $y) = explode('.', $date); break; + case 'dd.mm.yyyy': list($d, $m, $y) = explode('.', $date); break; + case 'dd/mm/yyyy': list($d, $m, $y) = explode('/', $date); break; + case 'mm/dd/yyyy': list($d, $m, $y) = explode('/', $date); break; + case 'mm-dd-yyyy': list($m, $d, $y) = explode('-', $date); break; + case 'dd-mm-yyyy': list($d, $m, $y) = explode('-', $date); break; } } + if ($y) { + $value = "$y-$m-$d ".rtrim($time); + } } return $value; } -} +} \ No newline at end of file -- GitLab