PHP 短日期到长日期问题

PHP short date to long date issue

我正在写一些代码脚本,它的日期很短,比如

14/12/17
30/11/17
20/11/17

我需要将它们转换为长日期格式,所以我使用了 PHP date 函数和 strtotime 如下

echo date('d-m-Y',strtotime('14/12/17'));

但它总是得到 01-01-1970 作为输出,但它应该是 14-12-2017

谁知道如何将其转换为长日期格式。

PS。其他问题答案建议更改日期输入格式,但我无法更改日期输入,因为它来自另一个站点

这是我发布的link,OP 说不正确。
最初由 ceiroa 发布。
Convert one date format into another in PHP

$myDateTime = DateTime::createFromFormat('d/m/y','14/12/17');
$newDateString = $myDateTime->format('d-m-Y');

Echo $newDateString;

https://3v4l.org/2AcAd

使用preg_replace翻转传入日期的日期和月份,然后根据需要使用日期。

$orig = ['14/12/17', '30/11/17', '20/11/17'];

foreach ($orig as $s) {
    echo date('d-m-Y', strtotime(preg_replace('#(\d+)\/(\d+)\/(\d+)#', '//', $s)))."\n";
}