使用PHPExcel导入数据库,date数据的问题

  当使用PHPExcel将数据表导入MySQL时,时间字段设置数据类型为date,导入后发现数据库显示的时间为'0000-00-00'.

为匹配数据库date格式,Excel时间格式如下,发现通过PHPExcel获取到的却是浮点型43110,以后查资料才知道在Excel中时间格式默认常规格式下,读取出都为浮点型,所以我们要将其转换下.

$d = 25569;
$t = 24 * 60 * 60;

$date = gmdate('Y-m-d',($rowData[0][6] - $d) * $t);

  因为excel中时间是从1990年开始算的,但时间戳是从1970年算的,所以要减去70年的时间.就是25569.

也可以将Excel的时间格式设置为文本模式,但是不能保证所有上传人的统一.

 

posted @ 2019-09-27 09:52  不喜欢酸甜的刘青阳  阅读(525)  评论(0编辑  收藏  举报