PhpSpreadsheet: отключить форматирование в методе getValue ()

Я работаю со значениями ячеек даты и времени, и пока значения даты работают, время оказывается немного болезненным.

$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, поэтому форматирование не выполняется.

Как отключить форматирование значений по умолчанию?

1

Решение

Сценарии могут изменять тип данных, используемый для возврата значений даты, вызывая \PhpOffice\PhpSpreadsheet\Calculation\Functions::setReturnDateType($returnDateType) метод.

Как $returnDateType использовать константу RETURNDATE_PHP_OBJECT,

Тогда значение даты, возвращаемое вызывающему сценарию при любом доступе к функциям даты и времени в Excel, будет PHP DateTime object

Обработка значений даты и времени

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]