2012-08-09 95 views
0

我正在使用Spreadsheet_Excel_Reader讀取PHP中的.xls文件。PHP Spreadsheet_Excel_Reader總是閱讀日期爲1999年11月30日

一切都很好,直到閱讀日期。如果我正在閱讀日期字段,它將始終返回1999年11月30日的日期(或此日期的變化取決於格式)。我曾嘗試設置OutputEncoding,它給出了相同的結果。我試圖傾銷庫中附帶的'example.xls',這也產生了相同的結果。

對此解決方法的任何幫助將不勝感激。

回答

0

你並不需要格式化您Excel中的日期......如果你心裏有一個日期格式與雙引號把它包起來。例如「13/04/1987」格式(「DD/MM/YYYY」);

Spreadsheet_Excel_Reader會看這是一個正常的字符串與它周圍的雙引號包裝。

然後在你的PHP進行一個查詢來刪除和替換雙引號。

$var = "13/04/1987"; 
$removeQuote = str_replace('"','',$var); 

在此之後,您將不得不用hypen( - )替換每次發生的正斜槓(/)。

$removeSlashes = str_replace('/','-',$removeQuote); 

然後使用PHP中的日期函數將其格式化爲適合性。

$format = date('Y-m-d', strtotime($removeSlashes)); 
echo $format; 

而你已經完成...完整的代碼在下面。

$var = "13/04/1987"; 
echo date('Y-m-d',strtotime(str_replace('/','-',str_replace('"','',$var)))); 
相關問題