Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/284.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP电子表格\u Excel\u阅读器始终读取日期为1999年11月30日_Php_Excel_Spreadsheet - Fatal编程技术网

PHP电子表格\u Excel\u阅读器始终读取日期为1999年11月30日

PHP电子表格\u Excel\u阅读器始终读取日期为1999年11月30日,php,excel,spreadsheet,Php,Excel,Spreadsheet,我正在使用电子表格Excel阅读器读取PHP中的.xls文件 在开始约会之前,一切都很顺利。如果我正在读取日期字段,它将始终返回1999年11月30日的日期(或此日期的变化,具体取决于格式)。我试着设置OutputEncoding,结果是一样的。我尝试转储库附带的'example.xls',这也会产生相同的结果 我们将非常感谢您在解决此问题方面提供的任何帮助 您不需要在excel中设置日期格式……如果您有日期格式,请使用双引号将其包装起来。e、 g“1987年4月13日”格式(“DD/MM/YY

我正在使用电子表格Excel阅读器读取PHP中的.xls文件

在开始约会之前,一切都很顺利。如果我正在读取日期字段,它将始终返回1999年11月30日的日期(或此日期的变化,具体取决于格式)。我试着设置OutputEncoding,结果是一样的。我尝试转储库附带的'example.xls',这也会产生相同的结果


我们将非常感谢您在解决此问题方面提供的任何帮助

您不需要在excel中设置日期格式……如果您有日期格式,请使用双引号将其包装起来。e、 g“1987年4月13日”格式(“DD/MM/YYYY”)

电子表格\u Excel\u阅读器会将其作为普通字符串读取,并在其周围加上双引号包装

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

$var = "13/04/1987";
 $removeQuote = str_replace('"','',$var);
在此之后,您必须将每次出现的正斜杠(/)替换为hypen(-)

然后使用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))));
$var = "13/04/1987";
echo date('Y-m-d',strtotime(str_replace('/','-',str_replace('"','',$var))));