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 に答える