私はWebアプリを作成していますが、顧客から、データを入力する必要のある日付フィールドを英国形式(DD / MM / YYYY)にするように要求されました。現在、データベースが使用しているので、すべての日付フィールドにYYYY / MM/DD形式で日付を入力する必要があるようにしています。
ユーザーに英国形式で日付を入力させ、それを裏返してデータベースに正しく保存するにはどうすればよいですか?
私はWebアプリを作成していますが、顧客から、データを入力する必要のある日付フィールドを英国形式(DD / MM / YYYY)にするように要求されました。現在、データベースが使用しているので、すべての日付フィールドにYYYY / MM/DD形式で日付を入力する必要があるようにしています。
ユーザーに英国形式で日付を入力させ、それを裏返してデータベースに正しく保存するにはどうすればよいですか?
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');
}