Days since 1900
-
24-10-2019 - |
Pergunta
I'm using data from Excel2007
as parsed by PHPExcel, and dates come out as days since 1900.
How can I convert to string of YYYY-MM-DD
(or anything similar)?
Solução
Or use
$phpDate = PHPExcel_Shared_Date::ExcelToPHP($cell->getCalculatedValue());
to convert an Excel/PHPExcel date to a PHP date/timestamp, and then use standard PHP date() function for formatting
Outras dicas
Something like this, should do the trick:
PHPExcel_Style_NumberFormat::toFormattedString($cell->getCalculatedValue(), 'YYYY-MM-DD');
purely php
$datetime1 = new DateTime('1900-01-01');
$datetime2 = new DateTime(); // today
$interval = $datetime1->diff($datetime2);
$days=$interval->format('%a');
$days+=2; // add boundary days
echo $days; // this is the number excel will use
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow