pyExcelerator question - dates map to floats?

skip at pobox.com skip at pobox.com
Sun Sep 10 00:07:16 EDT 2006


    skip> Doing a little date math I come up with a base date of
    skip> approximately (though not quite) 1900-01-01:
    ...

Reading the code in BIFFRecords.py I saw this docstring:

        This record specifies the base date for displaying date values. All
        dates are stored as count of days past this base date. In
        BIFF2-BIFF4 this record is part of the Calculation Settings Block.
        In BIFF5-BIFF8 it is stored in the Workbook Globals Substream.

        Record DATEMODE, BIFF2-BIFF8:

        Offset  Size    Contents
        0       2       0 = Base is 1899-Dec-31 (the cell = 1 represents 1900-Jan-01)
                        1 = Base is 1904-Jan-01 (the cell = 1 represents 1904-Jan-02)

Shifting my base date from 1900-01-01 to 1899-12-31 leaves me off by one.  I
take it then that "count of days past this base date" must include that
date.  It's too late for me to do any more poking around.  Does anyone know
if I might get date floats which are offset from 1904-01-01 (I think that
was the traditional Mac start-of-epoch) or are they normalized to all be
offsets from 1899-12-31?

I noticed that there are two items on the pyExcelerator to-do list.  Number
one is "documentation".

Skip



More information about the Python-list mailing list