If you enter February 29, 1900 into Microsoft Excel, the program will accept it without complaint.
It will sort it, compare it with other dates, and use it in calculations just like any other value.
There is only one problem.
That day never existed.
According to the Gregorian calendar, 1900 was not a leap year. Century years are leap years only if they are divisible by 400. The year 2000 qualifies. The year 1900 does not. The calendar moved directly from February 28 to March 1.
Yet inside Excel, February 29, 1900 exists as a valid day.
So how did this happen?
The Original Spreadsheet Mistake
Early spreadsheets needed an efficient way to handle dates. Instead of storing them as text, they stored them as numbers representing days since a starting point.
This made calculations simple:
- Adding days became addition
- Finding differences became subtraction
- Sorting dates became numeric sorting
When Lotus 1–2–3, the dominant spreadsheet of the early 1980s, implemented this system, it made a small mistake.
It treated 1900 as a leap year. That meant its internal calendar included a day that never existed.
When Compatibility Beats Correctness
When Microsoft later created Excel, Lotus 1–2–3 already dominated the spreadsheet world.
Businesses had enormous numbers of spreadsheets built with Lotus. Models, templates and financial calculations all depended on Lotus behavior.
If Excel had fixed the leap-year logic, imported spreadsheets would produce different results. Dates would shift. Calculations might silently change.
So Microsoft made a deliberate decision: Excel would reproduce the Lotus bug exactly.
The result is a strange artifact that still exists today: a phantom day in February 1900 that only exists inside spreadsheets.
The Real Lesson
This story is not really about calendars. It is about how software evolves.
A small implementation decision in the early 1980s became:
- a compatibility requirement.
- a permanent behavior.
- a contract that millions of spreadsheets depend on.
Software remembers its past, even when that past includes mistakes.
Sometimes the safest fix is not fixing it at all.
You can read the full story, including technical details and lessons, here:
A Date That Never Existed

Top comments (0)