php把excel数值格式转成日期格式问题


在excel中:40847对应2011-10-31,是日期的数值型表现形式。

在PHP中,echo date('Y-m-d H:i:s',40847);//结果1970-01-01 11:52:30

原因:

PHP 的时间函数是从1970-1-1日开始计算的,单位是秒数。但是 EXCEL的是从1900-1-1日开始算的单位是天数。

如果只计算1970以后的时间的话,就好处理了。

先获得 EXCEL中 1970-1-1 代表的数字,我查了是25569。

现在要把excel中的40947,在php中用函数正确的显示出来

代码如下:
<?php
  $time = (40847 – 25569) * 24*60*60; //获得秒数
  echo date('Y-m-d H:i:s', $time);   //出来 2011-10-31
?>


来源: up61技术博客 欢迎分享 (QQ:529857614)

qq交流群:63739043 up61博客-php交流群

上一篇: The filename is not recognised as an OLE file
下一篇: tp5 Excel 文件 数据导入到数据表中