什么PHP函数来解析这个时间戳42866.32972

Tim*_*rey 2 php excel datetime

我正在寻找正确的PHP函数来解析这个时间戳.

我有一系列的时间戳,我需要在PHP中解析,但我找不到正确的函数使用.时间戳的格式为"42866.32972".

Excel使用格式"YYYY-MM-DD hh:mm:ss"将"42866.32972"转换为"2017-05-11 07:54:48"但是我找不到在PHP中解析此时间戳格式的函数.

我试图用DateTime和Date解析这个无济于事.

什么是时间戳格式,我该如何解析它?

Dav*_*hen 6

Excel日期类似于Unix Epoch,但与(1970/01/01)相比,它们在不同的日期(1900/01/01)开始.

<?php

function parse_excel_date($value) {
    return date('Y-m-d H:i:s', ceil($value * 86400 - 2209161600));
}

echo parse_excel_date(42866.32972);
Run Code Online (Sandbox Code Playgroud)

输出:

2017-05-11 07:54:48
Run Code Online (Sandbox Code Playgroud)