我正在导入一个excel并将数据存储在mysql数据库中。一切都很好,但日期未正确导入:
在excel中,日期为"2016年12月1日星期六"
但在导入后,此日期的结果为"42735"
代码
$this->load->library('excel');
$objPHPExcel = PHPExcel_IOFactory::load($excelfile);
$cell_collection = $objPHPExcel->getActiveSheet()->getCellCollection();
foreach ($cell_collection as $cell) {
$column = $objPHPExcel->getActiveSheet()->getCell($cell)->getColumn();
$row = $objPHPExcel->getActiveSheet()->getCell($cell)->getRow();
$data_value = $objPHPExcel->getActiveSheet()->getCell($cell)->getValue();
if ($row == 1) {
$header[$row][$column] = $data_value;
} else {
$arr_data[$row][$column] = $data_value;
}
}
//$data['header'] = $header;
$data['values'] = $arr_data;
foreach ($arr_data as $a=>$r ) {
$dob = $r['Date Of Birth'];
//this is returning 42735
我尝试将此结果转换为日期,但没有成功。我正在使用PHPExcel。有什么建议可以解决这个问题吗?
最简单的方法是将Excel中日期列的格式从YYYY-MM-DD更改为Mysql友好格式。
选择您的整个日期列,然后在"开始"选项卡的"数字"菜单中选择"更多数字格式"。然后,在"类型"字段中,键入"YYYY-MM-DD",然后单击"确定"。
mysql 的excel格式日期
然后,如果你想以原始日期格式回显/打印$dob,你可以尝试以下方法:
echo date("l, F d, Y", $dob)
希望这能有所帮助。