I am trying to get Date from excel using PHPExcel. But I am not getting date, I am getting string value which is not seconds from 1970 .
Code I have tried is
$InvDate=trim($excel->getActiveSheet()->getCell('B' . $i)->getValue());
I am trying to get Date from excel using PHPExcel. But I am not getting date, I am getting string value which is not seconds from 1970 .
Code I have tried is
$InvDate=trim($excel->getActiveSheet()->getCell('B' . $i)->getValue());
In the new version of the library, PhpOffice, the function that handles this is excelToDateTimeObject so the new code format should be:
You can get the cell values as string (also the date values) this way:
For a date, getValue() should return a float, which is the Excel serialized timestamp value for that date/time... I suspect it's your trim() that's casting it to string. The actual value is the number of days since 1/1/1900 (or 1/1/1904 depending on the calendar that the spreadsheet is using).
Calling getFormattedValue() or getCalculatedValue() instead of getValue() should return the date formatted as a human-readable string according to the numberformatmask of the cell.
Alternatively, Sergey's solution tests if the cell has a date/time numberformatmask and calls the appropriate helper method to convert that Excel serialized timestamp to a unix timestamp, then uses the normal PHP date function to format it as human readable according to the value of $format. There's a similar helper method PHPExcel_Shared_Date::ExcelToPHPObject() that will convert an Excel serialized timestamp to a PHP DateTime object
Try use
P.S.
@DiegoDD: Should mention that $format is the desired format for the date. e.g.: