我有一个使用Php Excel读取Excel表格的PHP程序。 excel表只有一列格式为'yyyy-mm-dd hh-mm-ss'。
当我使用Php Excel阅读此excel表时,一切正常,直到我达到2038年以上的日期。
现在,我已经阅读了2038问题并且我认为我可以检测到它并在用户输入日期> = 2038时向用户返回错误消息但我不能,因为日期出错了。
更糟糕的是,它们是作为有效日期进入的。
以下是我尝试的不同值的示例(这是在读入PHP后的数组):
INPUT == Exactly as written in excel sheet
OUTPUT == The output the PHPExcel Reader returns in the array
OUTPUT DATE INPUT DATE
----------------------------------------------
2036-02-13 02:42:08 -- 2988-10-31 00:00:00
----------------------------------------------
2028-08-16 11:03:28 -- 2300-10-31 00:00:00
----------------------------------------------
1902-09-24 17:31:44 -- 2038-10-31 00:00:00
----------------------------------------------
2037-10-31 00:00:00 -- 2037-10-31 00:00:00
----------------------------------------------
输出似乎完全随机,但仍然是有效日期。
我希望能够捕获2038年以上的日期以向用户返回消息。
我正在运行PHP 32位。
这是将其读入数组并打印出来的代码:
$objPHPExcel = PHPExcel_IOFactory::load ( $this->pathToExcelFile);
$sheetData = $objPHPExcel->getActiveSheet ()->toArray ( null, true, true, false );
print_r ($sheetData, true);
想法?