我正在使用日期和时间单元格值,而日期值正在工作,时间被证明是一个痛苦。
$value = $worksheet->getCell($cellPosition)->getValue();
$date = new \DateTime();
$date->setTimestamp(\PhpOffice\PhpSpreadsheet\Shared\Date::excelToTimestamp($value));
echo '<td>' . $date->format('i:s') . '</td>' . PHP_EOL;
但是,在此示例中:$value
是:0.375而不是:09:00,因此格式化失败。
如何禁用此默认值的格式?
脚本可以通过调用\PhpOffice\PhpSpreadsheet\Calculation\Functions::setReturnDateType($returnDateType)
方法来更改用于返回日期值的数据类型。
由于$returnDateType
使用恒定的RETURNDATE_PHP_OBJECT
。
然后通过任何访问Excel中的日期和时间函数返回到调用脚本的日期值将是一个PHP DateTime object