1

我正在构建一个 Web 应用程序,客户已要求任何必须输入数据的日期字段为英国格式 (DD/MM/YYYY)。目前,我有它,以便所有日期字段都必须以 YYYY/MM/DD 格式输入日期,因为这是数据库使用的。

如何让用户输入英国格式的日期,然后将其翻转以将其正确保存到数据库中?

4

1 回答 1

0

beforeSave回调中检查是否提供了日期字段,如果提供,请使用DateTime::createFromFormatDateTime从您的显示格式创建一个对象。然后通过DateTime::format()将其更改为 sql 格式

if (isset($this->data[$this->alias]['date_field'])) {
    $this->data[$this->alias]['date_field'] = DateTime::createFromFormat('d/m/Y', $this->data[$this->alias]['date_field'])->format('Y/m/d');
}
于 2012-11-09T00:24:42.283 回答