试图在php中从excel中获取日期


trying to get date from excel in php

我正在导入一个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)

希望这能有所帮助。