导入Excel日期PHP时出错

导入Excel日期PHP时出错,php,phpexcel,Php,Phpexcel,我在尝试通过PHP将excel上传到数据库时遇到问题 我在excel中的格式是dd/mm/yyyy,我的sql需要yyyy/mm/dd $_DATOS_EXCEL[$i]['ship_day']= $objPHPExcel->getActiveSheet()- >getCell($headings['Ship Date'].$i)->getFormattedValue(); 我试过了 getFormattedValue('YYYY/MM/DD') 但是不起作用 非常感谢您能

我在尝试通过PHP将excel上传到数据库时遇到问题

我在excel中的格式是dd/mm/yyyy,我的sql需要yyyy/mm/dd

$_DATOS_EXCEL[$i]['ship_day']= $objPHPExcel->getActiveSheet()-  >getCell($headings['Ship Date'].$i)->getFormattedValue();
我试过了 getFormattedValue('YYYY/MM/DD')

但是不起作用


非常感谢您能帮我解决这个问题。

如果您的单元格值确实是Excel序列化的日期/时间值,并且您知道哪些单元格包含这些日期,那么您可以直接将其转换为PHP DateTime对象

$dto = PHPExcel_Shared_Date::ExcelToPHPObject(
    $objPHPExcel->getActiveSheet()
        ->getCell($headings['Ship Date'].$i)
        ->getValue()
);
$_DATOS_EXCEL[$i]['ship_day'] = $dto->format('Y/m/d');
或Unix时间戳

$unixTimestamp = PHPExcel_Shared_Date::ExcelToPHP(
    $objPHPExcel->getActiveSheet()
        ->getCell($headings['Ship Date'].$i)
        ->getValue()
);
$_DATOS_EXCEL[$i]['ship_day'] = date('Y/m/d', $unixTimestamp);

如果您的单元格值实际上是Excel序列化的日期/时间值,并且您知道哪些单元格包含这些日期,那么您可以将其直接转换为PHP DateTime对象

$dto = PHPExcel_Shared_Date::ExcelToPHPObject(
    $objPHPExcel->getActiveSheet()
        ->getCell($headings['Ship Date'].$i)
        ->getValue()
);
$_DATOS_EXCEL[$i]['ship_day'] = $dto->format('Y/m/d');
或Unix时间戳

$unixTimestamp = PHPExcel_Shared_Date::ExcelToPHP(
    $objPHPExcel->getActiveSheet()
        ->getCell($headings['Ship Date'].$i)
        ->getValue()
);
$_DATOS_EXCEL[$i]['ship_day'] = date('Y/m/d', $unixTimestamp);
在后面加三行

"$_DATOS_EXCEL[$i]['ship_day']= $objPHPExcel->getActiveSheet()-  >getCell($headings['Ship Date'].$i)->getFormattedValue();" 
这条线

$rearrange=$_DATOS_EXCEL[$i]['ship_day'];
$explode = explode("/",$rearrange);
$_DATOS_EXCEL[$i]['ship_day']= $explode[2]."/".$explode[1]."/".$explode[0];
在后面加三行

"$_DATOS_EXCEL[$i]['ship_day']= $objPHPExcel->getActiveSheet()-  >getCell($headings['Ship Date'].$i)->getFormattedValue();" 
这条线

$rearrange=$_DATOS_EXCEL[$i]['ship_day'];
$explode = explode("/",$rearrange);
$_DATOS_EXCEL[$i]['ship_day']= $explode[2]."/".$explode[1]."/".$explode[0];