2012-08-09 122 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)))); 
相关问题