将excel dateserial转换回可读日期格式

H D*_*ndi 2 php codeigniter phpexcel

如何使用phpexcel和代码点火器将此excel数据库值转换41225回日期格式12-Nov-2012

我尝试过以下但是没有用.

$G74 = $objPHPExcel->getActiveSheet()->getCell('B6')->getValue();
Run Code Online (Sandbox Code Playgroud)

rjm*_*nro 11

Excel中的日期存储为自1900年1月1日以来的天数,除了由于1900年不是闰年而导致的一个错误.因此,您可以使用此hack创建DateTime对象(对于1900年3月1日起的日期有效):

$n = 41225;
$dateTime = new DateTime("1899-12-30 + $n days");
Run Code Online (Sandbox Code Playgroud)

您可以使用以下内容格式化DateTime对象:

echo $dateTime->format("d M Y");
Run Code Online (Sandbox Code Playgroud)

如果您想要包括时间和日期,请在转换之前乘以86400(一天中的秒数)以获得自1900年1月1日以来的秒数:

$n = 42898.35416666;
$dateTime = new DateTime("1899-12-30 + ". round($n * 86400) . " seconds");
Run Code Online (Sandbox Code Playgroud)