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 theOLE 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.
Example conversions
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.
In your own code
- 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— this converter maps it the same way Excel does. - From serial 61 (
1900-03-01) onward, both systems agree with the real calendar.
Gotchas
- 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-02). Add
1462days to convert between the two.
Related tools
Once you have the instant, theUnix timestamp to date converter renders it in any timezone, and the date to epoch converter works the other way for logs and databases.
Related converters
- Full online epoch converter — Unix time with batch conversion and code snippets.
- Unix timestamp to date converter — decode any epoch value into a readable date.
- Date to epoch converter — turn any date string back into a Unix timestamp.
- Milliseconds to epoch converter — for
Date.now()values and high-precision APIs. - Snowflake ID converter — decode Discord and Twitter/X 64-bit IDs.
- LDAP / Active Directory timestamp converter— 100-nanosecond FileTime values.
- GPS time converter — week numbers and seconds-of-week since 1980.
- NTP timestamp converter — seconds since 1900, with the 64-bit packet form.
- .NET DateTime ticks converter — 100-nanosecond ticks since year 1.
- Mac HFS+ timestamp converter — seconds since 1904.
- Excel date converter — OADate serial numbers, days since 1900.