我们需要从 html 表单中发送一个"克罗地亚语"格式的日期 29。01. 2015(注意点后面的空格),但在我们将日期保存在数据库中之前,有必要将字符串转换为 mysql 日期格式 2015-01-29。
我们使用的是 CakePHP 2.6 框架,所以你可以将 CakeTime 助手和普通 PHP 结合起来。
目前我们使用这个函数:
// $pickerDate = '29. 01. 2015';
public function pickerDateToMysql($pickerDate){
$datetime = explode(' ', str_replace('.','',$pickerDate));
$date = implode('-',array_reverse($datetime));
debug($date);
return $date; // 2015-01-29
}
有没有更优雅的解决方案?
您可以使用
DateTime::createFromFormat()
方法来重新排列日期格式
public function pickerDateToMysql($pickerDate){
$date = DateTime::createFromFormat('d. m. Y', $pickerDate);
return $date->format('Y-m-d');
}
$CroatianDate = '29. 01. 2015';
pickerDateToMysql($CroatianDate);