Domanda

Sto utilizzando i dati di Excel2007 come analizzato da PHPExcel , e le date venuto fuori come giorni dal 1900 .

Come posso convertire a stringa di YYYY-MM-DD (o qualcosa di simile)?

È stato utile?

Soluzione

O uso

$phpDate = PHPExcel_Shared_Date::ExcelToPHP($cell->getCalculatedValue());

per convertire una data di Excel / PHPExcel ad una data PHP / timestamp, e quindi utilizzare la data standard di PHP () la funzione per la formattazione

Altri suggerimenti

Qualcosa di simile, dovrebbe fare il trucco:

PHPExcel_Style_NumberFormat::toFormattedString($cell->getCalculatedValue(), 'YYYY-MM-DD');

puramente 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
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top