2016-03-24 3 views
2

Ich habe versucht, zu konvertieren zeitzustempeln aber nicht funktioniert, ist mein Code untenWie kann ich das Datumsformat j/M/y in den Zeitstempel ändern?

$date = $objPHPExcel->getActiveSheet()->getCell('A' . $x)->getFormattedValue();//output value is 9/Feb/16 

echo strtotime($date);//return value is empty 

Es ist leer Wert zurück. Ich möchte das Excel-Blattdatum und das PHP-Rückgabedatum vergleichen. Excel-Tabelle zurückgegebene Datum ist wie dieses ->9/Feb/16

Antwort

2

Wenn der Wert in der Zelle ein serialisierter MS Excel-Zeitstempel ist, können Sie den "rohen" Wert aus der Zelle

abrufen
$date = $objPHPExcel->getActiveSheet() 
    ->getCell('A' . $x)->getValue(); 

, die eine Zahl wie 42.409 für 2. Februar 2016

dann die Einbau-Datum/Zeit-Umwandlungsfunktionen nutzen zu lassen, die entweder auf einem Unix-Zeitstempel, oder an ein PHP-Datetime-Objekt

zurückkehren sollte
$date = PHPExcel_Shared_Date::ExcelToPHP($date); // returns a unix timestamp 
echo date('Y-m-d H:i:s', $date); 

oder

$date = PHPExcel_Shared_Date::ExcelToPHPObject($date); // returns a DateTime object 
echo $date->format('Y-m-d H:i:s'); 
+0

Vielen Dank Es funktioniert für mich. –

2

Sie müssen nur Schrägstriche Minus-Symbol ändern, so strtotime erhalten Sie $ Datum als Datum

$date = str_replace('/','-',$date); 
echo strtotime($date); //output 1454976000 

live sample

+0

vielen Dank Es –

1
$d = DateTime::createFromFormat('j/M/y', '9/Feb/16'); 
echo $d->getTimestamp(); 
erkennen
+0

arbeitet danken seine Hilfe für mich. –

Verwandte Themen