[Lazarus] Date value "0"

Graeme Geldenhuys mailinglists at geldenhuys.co.uk
Wed May 27 11:07:05 CEST 2015


On 2015-05-27 09:17, Michael Schnell wrote:
> To me (being born 12/31) it's funny that that the base is not a 1/1, 
> especially 1/1/0001. But of course this is completely irrelevant.

TDateTime's value of 0 being 1899-12-30 is something Borland adopted
from Microsoft to be compatible with Microsoft's Excel or Access. And in
turn Microsoft Excel tried to be compatible with Lotus 1-2-3. Back in
the 90's I searched the internet for the explanation, but can't remember
the details any more.

A quick google search now revealed this page, though it doesn't go into
much detail.

"It appears that the reason for Delphi starting at 30 Dec 1899 is to
make it as compatible as possible with Excel while at the same time not
adopting Excel's incorrectness about dates."
  [http://www.delphibasics.co.uk/RTL.asp?Name=TDateTime]


Do an internet search for "Microsoft date starts at 1899-12-30" and
you'll find a lot more information.

Regards,
  - Graeme -

-- 
fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal
http://fpgui.sourceforge.net/




More information about the Lazarus mailing list