0

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);

アイデア?

4

0 に答える 0