Excel Date Converter. OADate Serial Numbers
Excel stores dates as serial numbers, the count of days since December 30, 1899, with the time of day in the fraction. Paste one here to see the real date, or turn any date into the serial your spreadsheet expects.
Excel date serial.
The OLE Automation / Excel serial number (days since December 30, 1899 (with the time of day carried in the fraction.
Whole number = the day; the fraction after the decimal point is the time of day.
How Excel dates work
Excel's 1900 date system stores 2026-08-07 00:00 as 46241, the
number of days since the system's zero point. The same format, called the
OLE Automation date (OADate), is used by COM,
VBA, python-pptx, and many databases when they talk about dates:
- Serial → Unix:
unix_ms = (serial - 25569) * 86400000. - Unix → Serial:
serial = unix_ms / 86400000 + 25569. - Time of day, the fractional part:
0.5is noon,0.25is 06:00.
The zero point is December 30, 1899, chosen so the leap-day bug below stays invisible for every date Excel actually supports.
Serial dates decoded
2→ January 1, 1900.25569→ January 1, 1970 00:00:00 UTC, the Unix epoch, in serial days.46241.5→ August 7, 2026 12:00:00 UTC.
Serial dates in Python, JavaScript, and C#
- Python:
datetime(1899, 12, 30, tzinfo=timezone.utc) + timedelta(days=serial). - JavaScript:
new Date((serial - 25569) * 86400000). - C#:
DateTime.FromOADate(46241.5)andDateTime.Now.ToOADate().
The 1900 leap-year bug
Excel's serial 60 is 1900-02-29, a day that never existed, because Excel
treats 1900 as a leap year (Lotus 1-2-3 did, and Excel kept the bug for compatibility). The
OADate system sidesteps it by starting one day earlier, on 1899-12-30, so:
- Serials 1–59 (Jan 1 – Feb 28, 1900) match the same dates in both systems.
- Serial 60 is the fake day
1900-02-29; because the OADate zero point sits at 1899-12-30, this converter maps serial 60 to the real date 1900-02-28. Excel itself displays 1900-02-29 for the same serial. - From serial 61 (
1900-03-01) onward, both systems agree with the real calendar.
Gotchas: fractions, negative serials, and the 1904 system
- Fraction = time.
46241is midnight and46241.99999is 23:59:59; the decimal part is a fraction of a day, not hours. - Negative serials, dates before 1899-12-30 produce negative numbers that Excel displays inconsistently; this converter handles them mathematically.
- 1904 system, classic Mac Excel used a 1904-based system (serial 0 = 1904-01-01; only the 1900-based system starts at 1899-12-30). Add
1462days to convert a serial between the two systems.
First published · Last reviewed · Maintained and developed by the Real Epoch Converter team · Email · Contact · Methodology
Spreadsheet-adjacent time formats
Serial-date arithmetic shows up outside Excel too, and the 1900 leap-year bug has cousins: