【发布时间】:2015-06-24 19:58:47
【问题描述】:
我正在尝试将德语字符串解析为可以为 sql 数据库重新格式化的日期。
我得到的字符串看起来像:15. Mai 2015,基本上就是这种格式:d. F Y。
如何使用 PHP 将其重新格式化为以下格式的日期:Y-m-d?我用正确的语言环境尝试了strtotime(),但没有成功。
编辑 1:
我试过这个:
setlocale(LC_TIME, "de_DE");
date_format(
date_create_from_format("d. F Y", $str),
'Y-m-d'
);
还有这个:
setlocale(LC_TIME, "de_DE");
strftime("%Y-%m-%d", strtotime($str))
编辑 2:
我已经按照建议解决了:
function parseDate($str) {
$months = array(
"Januar" => "January",
"Februar" => "February",
"März" => "March",
"April" => "April",
"Mai" => "May",
"Juni" => "June",
"August" => "August",
"September" => "September",
"Oktober" => "October",
"November" => "November",
"Dezember" => "December"
);
return strtotime(strtr($str, $months));
}
但是没有更优雅的方式吗?
【问题讨论】: