سؤال

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)?

هل كانت مفيدة؟

المحلول

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

نصائح أخرى

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
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top