1.错误背景

读取出来的话是一个万位整形数据41807,这显然不是想要的日期

读取出来的结果:2023-12-27

2.解决方案

法1:

$t = 41807;//读取到的值
$n = intval(($t - 25569) * 3600 * 24); //转换成1970年以来的秒数
echo gmdate('Y-m-d H:i:s',$n);//格式化时间,不是用date时区相差8小时的

法2:

用PHPExcel从xlsx中获取的时间的处理变成了Gregorian历法,需要将它还原成Julian Day历法,方法如下:

function excelTime($t){
return gmdate("Y-m-d H:i:s", PHPExcel_Shared_Date::ExcelToPHP($t));
}