Excel存储日期和时间作为小数值。 日期是从 1900 年开始的天数,时间是一天的部分,右边的小数部分。
为了将这种形式的日期和时间转换为 PHP 日期和时间,我们可以使用 PhpSpreadsheet 提供的一个工具方法:PhpOffice\PhpSpreadsheet\Shared\Date::excelToTimestamp().
此方法将 Excel 日期或时间(小数值)转换为 Unix 时间戳,然后可以使用 date() 或者 DateTime 对象将其格式化为任何需要的格式:
$timestamp = Date::excelToDateTimeObject($cell->getValue());
$formattedDate = $timestamp->format('Y-m-d H:i:s');