0

PHP で .xls ファイルを読み取るために Spreadsheet_Excel_Reader を使用しています。

日付を読み取るまでは、すべてうまくいきます。日付フィールドを読み取っている場合、常に 1999 年 11 月 30 日 (または形式によってはこの日付のバリエーション) の日付が返されます。OutputEncoding を設定しようとしましたが、同じ結果が得られました。ライブラリに付属の「example.xls」をダンプしてみましたが、これも同じ結果になります。

これに対する回避策についての助けをいただければ幸いです。

4

1 に答える 1

0

Excelで日付をフォーマットする必要はありません...日付フォーマットを念頭に置いている場合は、二重引用符で囲みます。例: "13/04/1987" format("DD/MM/YYYY");

Spreadsheet_Excel_Reader は、これを二重引用符で囲んだ通常の文字列として読み取ります。

次に、PHP で、二重引用符を削除して何も置き換えないクエリを作成します。

$var = "13/04/1987";
 $removeQuote = str_replace('"','',$var);

この後、スラッシュ (/) をすべてハイフン (-) に置き換える必要があります。

$removeSlashes = str_replace('/','-',$removeQuote);

次に、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))));
于 2013-01-17T12:58:27.033 に答える