加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

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

发布时间:2020-12-13 21:23:43 所属栏目:PHP教程 来源:网络整理
导读:在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日开始算的单位是天数。 如果只计算

在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中用函数正确的显示出来

function _excelNumToDate($num)
{
  $date = '';
  if ($num == (int)$num) {
    //获得秒数
    $time = ($num - 25569) * 24 * 60 * 60;
    return date('Y-m-d',$time);
  }
  return $date;
}

?

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读