PHP Spreadsheet_Excel_Reader读取日期始终为 1999 年 11 月 30 日


PHP Spreadsheet_Excel_Reader always reading date as Nov 30, 1999

我正在使用Spreadsheet_Excel_Reader在PHP中读取.xls文件。

一切都很顺利,直到阅读日期。如果我正在读取日期字段,它将始终返回日期为 1999 年 11 月 30 日(或此日期的变体,具体取决于格式)。我尝试设置输出编码,它给出了相同的结果。我尝试转储库附带的"示例.xls",这也会产生相同的结果。

任何

有关解决此问题的帮助将不胜感激。

您无需在 excel 中格式化日期...如果您有一个日期格式,请用双引号括起来。例如"13/04/1987"格式("日/月/年");

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))));