Hi all,
I added an attachment (https://bugs.documentfoundation.org/attachment.cgi?id=147433) to bug report
tdf118800, with a comparison of the (date)time part functions (YEAR, MONTH, DAY, HOUR, MINUTE,
SECOND) and some (date)time cell formats.
I made this comparison before submitting a patch for bug report tdf121978
(https://bugs.documentfoundation.org/show_bug.cgi?id=121978) as I came across some unexpected
differences between the time part functions and inconsistent (ambiguous?) differences between the
definitions of date part functions in ODF1.2 part2.
In normal life, one could make a difference between (date)time and duration. Putting it simple,
with (date)time a new minute only starts when 60 full seconds have passed since the last (i.e. the
values are floored), but with duration a period can be rounded, e.g. an execution time of 1m 14.85s
can be rounded to 1m 15s. This difference is not absolute (a quarter past twelve could be rounded
and a contest to hold your breath at least 20 seconds probably will not accept 19.6s as adequate).
It seems ODF1.2 Part 2 uses both approaches. HOUR and MINUTE use floor and SECOND uses round
(currently Calc uses floor, that's the subject of bug tdf121978).
But even with Calc's current SECOND function using floor, the cell format uses round for hour,
minute and second presentation.
And weirdly a value of '2018-12-31 23:23:59.9' is shown as '2019-01-01 00' with cell format
'YYYY-MM-DD HH', but as '2018-12-31' with cell format 'YYYY-MM-DD'.
Excel seems quite consistent, by rounding all (date)time part functions and cell formats. It's just
that with Excel new Year starts half a second sooner than in the real world. And the
interoperability Calc-Excel is broken.
MariaDB and Transact SQL (used e.g. by Microsoft SQL server) are both consistent with their
(date)time part functions: they all use floor. That makes (date)time data-exchange easy.
And now the questions:
-What should Calc do? IMHO the current behaviour is inconsistent and needs attention, both the Calc
functions and the cell formatting.
-Should we propose a change of ODF1.2 part 2 with respect to (date)time functions? And which
change(s)?
Any answers?
(Note that if there are lots of opinions, I may participate little in any discussion at most. The
final outcome will be my reference for further action on (date)time part functions and possibly
cell formatting.)
Winfried
Context
- Calc : (date)time parts, cell format and difference with other applications · Winfried Donkers
Privacy Policy |
Impressum (Legal Info) |
Copyright information: Unless otherwise specified, all text and images
on this website are licensed under the
Creative Commons Attribution-Share Alike 3.0 License.
This does not include the source code of LibreOffice, which is
licensed under the Mozilla Public License (
MPLv2).
"LibreOffice" and "The Document Foundation" are
registered trademarks of their corresponding registered owners or are
in actual use as trademarks in one or more countries. Their respective
logos and icons are also subject to international copyright laws. Use
thereof is explained in our
trademark policy.