CakePHP / PHP,克罗地亚日期转换为mysql日期


CakePHP / PHP, Croatian date convert to mysql date

我们需要从 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);