一方、PHPのタイムスタンプ値は「1970/01/01 09:00:00」から始まる秒数(0から始まる)。
んで、「1970/01/01 09:00:00」をExcel日付シリアル値で表すと25569.375なので、変換は下記となる。
function excelTimeToPhpTime($excelTime) { $excelTime -= 25569.375; // Excel上の1970/01/01 09:00:00 $excelTime *= 86400; // 日数 → 秒数 return $excelTime; }上は見やすいように書いたが、通常は下記のようにしたほうが良いでしょう。
(excelTimeをリターンしているところなど、すごく気持ち悪いし(^_^;))
function excelTimeToPhpTime($excelTime) { return ($excelTime - 25569.375) * 86400; }使用例:
echo date("Y/m/d H:i:s", excelTimeToPhpTime(42601.375));「2016/08/19 09:00:00」と出力されます。
ちなみに、Excel日付シリアル値は、日付を入力したセルの書式設定を「標準」にすると表示されます。