diff --git a/core/model/DataObject.php b/core/model/DataObject.php index 1392890ee..036259a83 100644 --- a/core/model/DataObject.php +++ b/core/model/DataObject.php @@ -265,16 +265,14 @@ class DataObject extends ViewableData implements DataObjectInterface, i18nEntity // MSSQLDatabase::date() uses datetime for the data type for "Date" and "SSDatetime" 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)); + $v = preg_replace('/([ap]m)$/i', ' \\1', $v); + $record[$k] = date('Y-m-d', strtotime($v)); 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)); + $v = preg_replace('/([ap]m)$/i', ' \\1', $v); + $record[$k] = date('Y-m-d H:i:s', strtotime($v)); break; } } diff --git a/tests/forms/TableListFieldTest.php b/tests/forms/TableListFieldTest.php index ceb0532c4..d596647e6 100644 --- a/tests/forms/TableListFieldTest.php +++ b/tests/forms/TableListFieldTest.php @@ -159,6 +159,7 @@ class TableListFieldTest_Obj extends DataObject implements TestOnly { "B" => "Varchar", "C" => "Varchar", ); + static $default_sort = "A"; function D() { return $this->A . '/' . $this->B . '/' . $this->C; @@ -174,6 +175,7 @@ class TableListFieldTest_CsvExport extends DataObject implements TestOnly { "A" => "Varchar", "B" => "Varchar" ); + static $default_sort = "A"; } class TableListFieldTest_TestController extends Controller {