excel工作表中的PHP解析日期列(CSV)

excel工作表中的PHP解析日期列(CSV),php,excel,csv,date,strtotime,Php,Excel,Csv,Date,Strtotime,我创建了CSV文件,其中包含格式为12-08-2018的日期字段。当我在Excel工作表中打开csv文件时,它会以2018年8月12日的格式显示并保存到文件中 当我试图解析它时,它给了我错误的信息: <?php echo date('Y-m-d',strtotime('12/AUG/2018')); // 1969-12-31 ?> 那么,处理来自excel工作表的日期解析的最佳方法是什么。使用函数 使用函数 感谢@splash58的快速响应。如果我使用DateTi

我创建了CSV文件,其中包含格式为12-08-2018的日期字段。当我在Excel工作表中打开csv文件时,它会以2018年8月12日的格式显示并保存到文件中

当我试图解析它时,它给了我错误的信息:

<?php
     echo date('Y-m-d',strtotime('12/AUG/2018')); // 1969-12-31
?> 

那么,处理来自excel工作表的日期解析的最佳方法是什么。

使用函数

使用函数


感谢@splash58的快速响应。如果我使用DateTime::createFromFormat(),这意味着我应该知道excel工作表需要什么格式。因为来自excel工作表的数据可以采用不同的格式。那么,我应该处理所有的案件吗?难道没有像自动格式检测和解析这样的解决方案吗?只有一些固定格式可以被datetime函数识别。在其他情况下,您应该尝试所有可能的格式显示我们是否会检测到输入的日期格式?如果您知道这组格式,请在datetime失败时尝试,例如,datetime失败后,我发现一种格式为2018年8月12日,另一种格式为2018年8月12日,那么我将如何决定使用哪种格式?感谢@splash58的快速响应。如果我使用DateTime::createFromFormat(),这意味着我应该知道excel工作表需要什么格式。因为来自excel工作表的数据可以采用不同的格式。那么,我应该处理所有的案件吗?难道没有像自动格式检测和解析这样的解决方案吗?只有一些固定格式可以被datetime函数识别。在其他情况下,您应该尝试所有可能的格式显示我们是否会检测到输入的日期格式?如果您知道这组格式,请在datetime失败时尝试,例如,datetime失败后,我发现一种格式为2018年8月12日,另一种格式为2018年8月12日,那么我将如何决定使用哪种格式?
$date = DateTime::createFromFormat('d/M/Y', '12/AUG/2018');
echo $date->format('Y-m-d'); // 2018-08-12