diff --git a/core/model/DataObject.php b/core/model/DataObject.php index 3ce3c9497..014a011a2 100644 --- a/core/model/DataObject.php +++ b/core/model/DataObject.php @@ -262,10 +262,19 @@ class DataObject extends ViewableData implements DataObjectInterface, i18nEntity $this->class = get_class($this); foreach($record as $k => $v) { // MSSQLDatabase::date() uses datetime for the data type for "Date" and "SSDatetime" - if($this->db($k) == 'Date' || $this->db($k) == 'SSDatetime') { - $meridiem = substr($v, strlen($v) - 2, strlen($v)); - $v = substr($v, 0, strlen($v) - 6); - $record[$k] = date('Y-m-d H:i:s', strtotime($v . ' ' . $meridiem)); + switch($this->db($k)) { + case "Date": + $meridiem = substr($v, strlen($v) - 2, strlen($v)); + $v = substr($v, 0, strlen($v) - 6); + $record[$k] = date('Y-m-d', strtotime($v . ' ' . $meridiem)); + break; + + case "Datetime": + case "SSDatetime": + $meridiem = substr($v, strlen($v) - 2, strlen($v)); + $v = substr($v, 0, strlen($v) - 6); + $record[$k] = date('Y-m-d H:i:s', strtotime($v . ' ' . $meridiem)); + break; } } }