Key takeaway

The number alone does not identify the date. Preserve the workbook’s date system, field meaning and conversion lineage before accepting the exported calendar value.

The date can change while the number survives

An owner exports a spreadsheet date column as numbers. The recipient preserves every digit, then converts those numbers using a different origin. The resulting dates look plausible and sort normally, yet the events move by years. A byte-for-byte comparison of the numeric column will not detect the calendar reinterpretation.

Microsoft documents two Excel date systems, 1900 and 1904, whose modern serial representations for the same date differ by 1,462 days. The workbook setting is therefore part of the evidence needed to interpret a serial. This is a different decision from choosing a timezone for a known calendar timestamp or recalculating a formula.

Follow one modern serial through both interpretations

In this hypothetical fixture, cell C7 contains the date serial 45000 with no fractional time component. Under the 1900 system it represents 15 March 2023. Under the 1904 system the same number represents 16 March 2027. The two completed interpretations are 1,462 days apart. They are illustrative conversions, not dates observed in a company workbook.

Suppose the source workbook is documented as using 1904 but the receiving loader assumes 1900. The loader has changed the date interpretation even though 45000 arrived intact. The decision is to hold the converted calendar field and correct the documented conversion path. It is not to add four years to every field in an archive by guesswork.

Illustrative evidenceInterpretation of 45000Receiving decision
Verified 1900 date system2023-03-15Retain origin and conversion record
Verified 1904 date system2027-03-16Retain origin and conversion record
Source 1904; loader assumed 1900Loader displays 2023-03-15Hold wrong-origin conversion
Source system evidence absentTwo candidate dates remainRecover workbook context; do not guess

Inspect the source without rewriting it

Retain the original workbook identity and have its authorized technical owner inspect the setting. Microsoft documents where the 1904 option is configured. The openpyxl documentation shows workbook.epoch as a way to inspect the date system in that library. Record the actual observed setting and tool/version; a default shown for a newly created workbook is not evidence about an inherited file.

Do not toggle the source setting merely to make a screenshot resemble another report. First establish which cells are intended to be dates, which are ordinary quantities and whether a previous copy or conversion already changed them. Keep source serial, number format, field definition and decoded calendar result linked. A serial such as 45000 can also be an ordinary business number if the field is not a date.

The openpyxl documentation distinguishes single-number dates from ISO-formatted storage and notes Excel’s historical 1900 leap-year complication. The worked fixture deliberately uses a modern date; it does not supply a general conversion rule for early-1900 or historical dates. Those edge cases need their own explicit fixtures and supported implementation.

Check the handoff in both directions

Prepare synthetic workbooks with known modern dates under both systems and inspect the resulting serials and decoded values. Then exercise the actual export and receiving steps, including any CSV conversion. State which step retains the workbook-level setting, which writes an explicit calendar representation and which stores the transformation provenance.

A flat file of bare serials needs an accompanying date-system rule; it cannot inherit a workbook setting that was discarded. A receiving field can instead carry an explicit date under a documented conversion, while retaining the source serial and origin internally where appropriate. Confirm that a later re-export does not convert the already decoded date a second time.

Keep time-of-day fractions and timezone questions separate. A correct epoch does not establish the location, offset or business meaning of an event. For a date-only field, record that it is date-only rather than appending a fabricated midnight timestamp. The date system resolves one representation boundary, not every temporal question.

Return a bounded correction record

For C7, the completed finding identifies the 1904 source setting, the receiving 1900 assumption and the corrected modern interpretation, with both versions retained. If the original setting cannot be recovered, the result remains unresolved. A later operator’s plausible date range is a clue to investigate, not substitute source evidence.

Use that finding to describe the affected field, inspected workbook population and unresolved conversions before proposing any actual sample. The owner can request a receiving check using synthetic fixtures first. Preserving date-system lineage makes the representation reviewable; it does not prove the event occurred or grant permission to disclose its history.

Tools for this decision

Data inventory builder →Diligence question builder →