我正在使用日期和时间单元格值,并且在日期值有效的情况下,时间被证明有点痛苦。
$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,因此格式化失败。
如何禁用此默认值格式?
答案 0 :(得分:0)
脚本可以通过调用\PhpOffice\PhpSpreadsheet\Calculation\Functions::setReturnDateType($returnDateType)
方法来更改用于返回日期值的数据类型。
$returnDateType
使用常量RETURNDATE_PHP_OBJECT
。
然后,通过对Excel中的日期和时间函数的任何访问,返回到调用脚本的日期值将为PHP DateTime object