PHP_XLSXWriter icon indicating copy to clipboard operation
PHP_XLSXWriter copied to clipboard

TimeFormat in Excel 365 with only time as input

Open TonHaver opened this issue 1 year ago • 1 comments

Using ex02-formats.php the last 2 Dates columns were not presented as expexted in Excel 365 for Mac (16.71) image The value in those cells is : -693625,00001157

Opening the file in LibreOffice show expected presentation image

Took me a while to find the cause. Excel can't cope with years < 1900 or > 9999 Therefore the class has a boundary check at lines 877-883 in function function convert_date_time

But if only a time as in custom-time1 and custom-time2 is given as $date_input, $day and $month and $year are 0, so $days is calculated as -693626

The easiest solution/workaround I could find, was to add this line after $seconds was calculated: if ($day ==0) return $seconds;

TonHaver avatar Nov 26 '23 19:11 TonHaver

您好,我已经收到您的信件,将尽快回复您。

sayid avatar Nov 26 '23 19:11 sayid