strtotime() 不识别德语的缩写形式 (dd.mm.YY)


strtotime() doesn't recognize german shortform of date (dd.mm.YY)

我有很多带有多个时间戳的数据,我刚刚认识到有些在"dd.mm.YYYY"中,它与date("Y-m-d", strtotime($input));配合得很好,但有些在"dd.mm.YY"中,这不再有效 - 它总是返回当前日期。

我的

问题是我的数据太大,无法通过编辑手动解决此问题。有没有办法让YYYY-mm-dd摆脱mm.dd.YY

来了...

$date = "20.02.71"; // sample date... (common German format)
$date = DateTime::createFromFormat('d.m.y', $date);
echo $date->format('Y-m-d');

将导致:

1971年02月20日

创建一个 DateTime 对象,然后将其格式化为您想要的任何格式...

好吧,你可以用 - 替换.,你可以做如下的事情:

$date = str_replace(".", "-", "mm.dd.YY")

这将返回

mm-dd-YY

您可以使用date_parse_from_format将任何甲酸盐转换为您指定的甲酸盐。

date_parse_from_format("y-m-d", $date);

它返回一个数组,其中包含非常有用的信息,如月份、年份等。