こんにちは~私はPHPExcel 1.7.7を使用してXLSXファイルを読み取り、結果をWebページに表示しています。
日付と時刻の文字列を格納するセルの値を取得し、次のコードを使用して PHP で処理しようとしています。
<?php
date_default_timezone_set('Australia/Canberra');
$value = $objPHPExcel->getActiveSheet()->getCell('A1')->getValue();
define('MIN_DATES_DIFF', 25569);
define('SEC_IN_DAY', 86400);
function excel2Timestamp($excelDate)
{
if($excelDate <= MIN_DATES_DIFF)
{
return 0;
}
return ($excelDate - MIN_DATES_DIFF) * SEC_IN_DAY;
}
echo $result = date('H:i:s d/m/Y', excel2Timestamp($value));
?>
セルの元の値は「00:00:00 01/07/2012」ですが、上記の PHP コードの出力は「10:00:00 01/07/2012」と表示されます。
タイムゾーンの違いが原因のようですが、コードの冒頭ですでにタイムゾーンを定義しています。何が悪いのかわかりません。
誰でも私を助けてもらえますか?前もって感謝します。