https://bz.apache.org/ooo/show_bug.cgi?id=119374

--- Comment #9 from mroe <[email protected]> ---
> Excel is not the reference when dealing with date/times, particularly not
> when negative values are involved which Excel can not handle at all.

That's right! (But not only in this case.)

> I don't see any reason why function TIME should not behave like function
> DATE which calculates correct positive and negative day numbers for any
> positive or negative integers you throw at it. Ok, the year has to be
> Gregorian (>1582).

The difference is:
A calendar date is any date >= 1.1.1
So the question is: what is the/a date before 1.1.1?
(Is the year before common era [B.C.E.] the year 0 or -1?)
We can define the day 0 to 31.12.0. But if we count from there there is no
negative day.
But Calc defines the representation of the days/calendar dates with an integer
with 0 = 30.12.1899

The minimal value is =DATE(1582;10;15) = -115858
The internal _representation_ of a (positive!) day can by a negative integer.

A (clock) time has no date count and is always a value 00:00:00 (0) <= time <
24:00:00 (1).


> The cell value calculated by TIME should be as simple as 
> =hours/24+minutes/1440+seconds/86400 => positive or negative number
> representing the amount of days.
> This value can be formatted as a point of time HH:MM:SS or as a period of
> time [HH]:MM:SS

And here comes the difficulty:

TIME() calculates a (clock) time not a period of time! And this is 100 %
equivalent to DATE().

In your opinion there should be
=TIME(-6;0;0) = -0.25 = 18:00:00 (HH:MM:SS) =(?) -06:00:00 ([HH]:MM:SS)
=TIME(-30;0;0) = -1.25 = 18:00:00 (HH:MM:SS) =(?) -30:00:00 ([HH]:MM:SS)

I vote for
=TIME(-6;0;0) = 0.75 = 18:00:00 (HH:MM:SS) =(!) 18:00:00 ([HH]:MM:SS)
=TIME(-30;0;0) = 0.75 = 18:00:00 (HH:MM:SS) =(!) 18:00:00 ([HH]:MM:SS)
in compatibility to the actual (and for me right) implementation.

-- 
You are receiving this mail because:
You are the assignee for the issue.

Reply via email to