0

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

一切都很好,直到读取日期。如果我正在读取日期字段,它将始终返回日期为 1999 年 11 月 30 日(或此日期的变化,具体取决于格式)。我尝试设置 OutputEncoding 并给出相同的结果。我尝试转储库附带的“example.xls”,这也产生了相同的结果。

对此解决方法的任何帮助将不胜感激。

4

1 回答 1

0

您不需要在 excel 中格式化您的日期......如果您有日期格式,请用双引号括起来。例如“13/04/1987”格式(“DD/MM/YYYY”);

Spreadsheet_Excel_Reader 会将其作为普通字符串读取,并带有双引号包装器。

然后在您的 PHP 中进行查询以删除双引号并将其替换为空。

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

在此之后,您将不得不用连字符(-)替换所有出现的正斜杠(/)。

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

然后使用 PHP 中的 date 函数将其格式化为适合您的格式。

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

你已经完成了......完整的代码如下。

$var = "13/04/1987";
echo date('Y-m-d',strtotime(str_replace('/','-',str_replace('"','',$var))));
于 2013-01-17T12:58:27.033 回答