当使用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的时间格式设置为文本模式,但是不能保证所有上传人的统一.