2017-06-01 81 views
1

我有xlsx表,我使用PhpSpreadsheet來解析它們。有些單元格格式是日期。問題是,PhpSpreadsheet返回從日期格式的單元格的值在未指定的格式:如何使用PhpSpreadsheet從表格單元格中檢索日期?

// How it looks in excel: 2017.04.08 0:00 
$value = $worksheet->getCell('A1')->getValue(); // 42833 - doesn't look like a UNIX time 

如何從一個單元格中日期的UNIX時間或DateTimeInterface實例的形式?

回答

4

值是幾天過去了自1900年以來,您可以使用內置的功能PhpSpreadsheet將其轉換爲Unix時間戳量:

$value = $worksheet->getCell('A1')->getValue(); 
$date = \PhpOffice\PhpSpreadsheet\Shared\Date::excelToTimestamp($value); 

或一個PHP DateTime對象:

$value = $worksheet->getCell('A1')->getValue(); 
$date = \PhpOffice\PhpSpreadsheet\Shared\Date::excelToDateTimeObject($value); 
相關問題