【问题标题】:Reformat german datestring to sql date in php在php中将德语日期字符串格式化为sql日期
【发布时间】: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));
}

但是没有更优雅的方式吗?

【问题讨论】:

标签: php parsing date format


【解决方案1】:

参考 Converting a German date to Y-m-d does not work?

您需要用英文月份名称替换月份的字符串才能使用 strtotime。

【讨论】:

  • 是的,我明白了,但没有更优雅的方式吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-04-08
  • 1970-01-01
  • 1970-01-01
  • 2017-02-14
  • 2020-08-07
  • 1970-01-01
相关资源
最近更新 更多