PHP: 将日期时间变量转换为日期

PHP: convert date time variable into date

我正在尝试将日期和时间变量转换为不同格式的日期:

$test_date = '01/07/2018 10:00-12:00';
$result = substr($test_date, 0, 10);
$newDate = date("Ymd", strtotime($result));
echo $newDate;

预期结果= 20180701 实际结果= 20180107

尝试了我可以在这里找到的所有相关变体,但仍然得到 'Ydm' 而不是 'Ymd'。

我是不是漏掉了什么明显的东西?

看起来它正在被解析'wrongly'因为它没有明确说明源格式是什么,使用DateTime对象,你可以做(​​未测试):

$result = substr($test_date, 0, 10);
$dateTime = DateTime::createFromFormat('d/m/Y', $result);
$newDate = $dateTime->format('Y-m-d');
echo $newDate;