2016-05-24 11 views
0

starker Text nclude 'PHPExcel/IOFactory.php';Wie konvertiert man das php excel Lesedatum in das Y-m-d Format?

// This is the file path to be uploaded. 
$inputFileName = 'admin/' . $_SESSION['file_name']; 

try { 
    $objPHPExcel = PHPExcel_IOFactory::load($inputFileName); 
} catch (Exception $e) { 
    die('Error loading file "' . pathinfo($inputFileName, PATHINFO_BASENAME) . '": ' . $e->getMessage()); 
} 

$allDataInSheet = $objPHPExcel->getActiveSheet()->toArray(null, true, true, true); 

das Datum in Excel-Blatt wie 8/28/1980 setzen, aber ich bin das Datum wie diese 08-28-80 bekam, ich brauche den Wert wie diese 1980-08-28 zu erhalten.

bitte helfen Sie mir !!

+0

Ist dies eine echte Excel-Datei oder eine CSV-Datei, die Sie gerade lesen? Wenn es sich um eine echte Excel-Datei handelt, was ist die Formatmaske, die dieses Datum tatsächlich verwendet? –

+0

Sie könnten auch Ihre Formatmaske ('YYYY-MM-DD') auf diese Zellen anwenden, bevor Sie die' toArray() 'Methode aufrufen –

+0

ich verwende, xlsx Format, Von Excel Daten Datum Wert wird so 08-28- 80 –

Antwort

0

Wenn Ihr Datum wie dieses 08-28-80 ist, werden Sie mit einem Problem konfrontiert werden. Sie können nicht herausfinden, ob das Jahr 1980 oder 2080 ist, wenn Sie wissen, was ich meine.

Sie können diese Funktion verwenden

function convert_date($data){ 
    $date_arr = explode("-",$data); 
    if($date_arr[2] >= 0 && $date_arr[2] < 17){ 
     $new_date = "20".$date_arr[2]."-".$date_arr[1]."-".$date_arr[0]; 
    } else { 
     $new_date = "19".$date_arr[2]."-".$date_arr[1]."-".$date_arr[0]; 
    } 
    return $new_date; 
} 

Ich hoffe, dass Sie mit dieser Funktion

+0

, aber das Excel-Datum Wert wird so 08-28-80 –

+0

das Datum ist wie folgt -> 08-28-80 und Sie Zauberstab, es so zu machen-> 1980 -08-28? –

+0

ich habe update meinen code unter probiere es aus und sag mir, wenn du irgendeine hilfe schiebst –

0

hilft Ich hoffe, dies ist Ihre Erwartung.

konvertieren Sie bitte das Datum Excel-Wert Zeichenfolge,

<?php 
$dateVal = '8/28/1980'; // Excel date value 
$date = strtotime($dateVal); 
$newformat = date('Y-m-d',$date); 
echo $newformat; 
?> 
+0

, aber die Excel-Datum Wert wird so 08-28-80, –