realepochconverter
excel date converter

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.

converter

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.5 is noon, 0.25 is 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) and DateTime.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 = time46241 is midnight and 46241.99999 is 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 1462 days 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

Copied