Php Excelを使用して Excel Sheets を読み取る PHP プログラムがあります。Excel シートには、「yyyy-mm-dd hh-mm-ss」にフォーマットされた列が 1 つしかありません。
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);
アイデア?