phpexcel 读取excel数字时,显示为一串数字(时间都是类似于这样的数字:41890.620138889),如何将数字转换为对应的日期来显示呢?
<?php public static function get_date_by_excel($date){ if (!$date || $date == '0000-00-00') return null; $unix_time = \PHPExcel_Shared_Date::ExcelToPHP($date); return gmdate('Y-m-d H:i',$unix_time); } ?>
注意:PHPExcel从文档中获取的时间,是以格林威治时间标准(GMT/UTC)格式(与咱们当地时间相差8小时)!
在格式化时间时,需要注意date和gmdate的区别
1、date:格式化本地时间
2、gmdate:格式化格林威治时间
<?php $data = [ 'number'=>$PHPExcel->getActiveSheet()->getCell("A" . $currentRow)->getValue(), 'nickName'=>$PHPExcel->getActiveSheet()->getCell("B" . $currentRow)->getValue(), 'name'=>$PHPExcel->getActiveSheet()->getCell("C" . $currentRow)->getValue(), 'tel'=>$PHPExcel->getActiveSheet()->getCell("D" . $currentRow)->getValue(), 'money'=>$PHPExcel->getActiveSheet()->getCell("E" . $currentRow)->getValue(), 'time'=>self::get_date_by_excel($PHPExcel->getActiveSheet()->getCell("F" . $currentRow)->getValue()), 'is_pay'=>$PHPExcel->getActiveSheet()->getCell("G" . $currentRow)->getValue(), 'shop_name'=>$PHPExcel->getActiveSheet()->getCell("H" . $currentRow)->getValue(), 'remarks'=>$PHPExcel->getActiveSheet()->getCell("I" . $currentRow)->getValue(), 'status'=>0, 'created_at'=>date('Y-m-d') ]; ?>
文章评论(0)