我正在使用Spreadsheet_Excel_Reader在PHP中读取.xls文件。
在阅读约会之前,一切都很顺利。如果我正在阅读日期字段,它将始终返回日期为1999年11月30日(或此日期的变化取决于格式)。我已经尝试设置OutputEncoding,它给出了相同的结果。我尝试转储库附带的'example.xls',也产生相同的结果。
对于解决方法的任何帮助都将受到高度赞赏。
答案 0 :(得分: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))));