https://bugs.documentfoundation.org/show_bug.cgi?id=136615
--- Comment #22 from SheetJS <d...@sheetjs.com> --- > Yes, and if Excel is rounding 0.999999930555556 (=86399.994/86400) which is > 23:59:59.994 to 00:00:00 that's obviously wrong. The lowest time unit is seconds, so Excel rounds to the nearest second. The `hh` format is the time in hours, so when rounding you get `00`. If you want to know the duration, Excel's format token is `[hh]` (hh wrapped in square brackets). It would help to look at these formats in Excel: ``` =TEXT(0.999999930555556,"hh:mm:ss") ## No msec, relative time -> "00:00:00" =TEXT(0.999999930555556,"[hh]:mm:ss") ## No msec, absolute time -> "24:00:00" =TEXT(0.999999930555556,"hh:mm:ss.000") ## round to milliseconds -> "23:59:59.994" ``` This is internally consistent rounding logic, specifically "1) always round to the most granular date token" . LibreOffice, by contrast, appears to be inconsistent. Testing the same examples: ``` =TEXT(0.999999930555556,"hh:mm:ss") ## 23:59:59 (truncate) =TEXT(0.999999930555556,"[hh]:mm:ss") ## 24:00:00 (round to sec) =TEXT(0.999999930555556,"hh:mm:ss.000") ## 23:59:59.994 (round to msec) ``` -- You are receiving this mail because: You are the assignee for the bug.