Excel 16.0 build 20430
Windows, 64-bit, CPU not recorded
10,153 captured inputs are indexed for this environment. Capture dates: 2026-09-29 to 2026-09-29. This is a reading count, not a comparison with another build.
Date and time functions
Matches all 10,158 recorded answers
Recorded: 10,153 in the answer bank and 5 workbook cells. How we measure this · See the Rust code
| Language | Name in Excel |
|---|---|
| Arabic | DAY |
| Bulgarian | DAY |
| Czech | DEN |
| Danish | DAY |
| German | DAY |
| Greek | DAY |
| English (Australia) | DAY |
| English (United Kingdom) | DAY |
| English (United States) | DAY |
| Spanish | DAY |
| Estonian | PÄEV |
| Finnish | PÄIVÄ |
| French | DAY |
| Hebrew | DAY |
| Croatian | DAY |
| Hungarian | DAY |
| Indonesian | DAY |
| Italian | DAY |
| Japanese | DAY |
| Korean | DAY |
| Lithuanian | DAY |
| Latvian | DAY |
| Norwegian | DAG |
| Dutch | DAY |
| Polish | DAY (dzień) |
| Portuguese (Brazil) | DAY |
| Portuguese (Portugal) | DIA |
| Romanian | DAY |
| Russian | DAY |
| Slovak | DEŇ |
| Slovenian | DAN |
| Serbian (Latin) | DAN |
| Swedish | DAY |
| Thai | วัน |
| Turkish | GÜN |
| Ukrainian | ДЕНЬ |
| Vietnamese | DAY |
| Chinese (Simplified) | DAY |
| Chinese (Hong Kong) | DAY |
| Chinese (Traditional) | DAY |
Names from Microsoft's support site.
DAY(serial_number)
DAY projects a date serial onto its day-of-month component: floor the serial, map ⌊serial⌋ to
a calendar day under the workbook's date system (see FUNC.DATE), and return that
day's day-of-month as an integer, documented as 1 through 31.
Of the three decomposers this is the one where Excel's serial line stops agreeing with the calendar. Serial 60 denotes 29 February 1900, a date that did not exist; the day-of-month it reports is 29 in a February that had 28 days. Serial 0 denotes a "0 January 1900" that is not a day at all. So the documented 1–31 range is the range for real days; the phantoms sit outside the calendar the range describes.
DAY(serial_number) — one required argument, the date whose day-of-month is wanted.
Microsoft's category-wide guidance applies: pass a serial from DATE, from another formula, or from a cell already holding a date, rather than text, whose interpretation depends on the locale's date order. Argument coercion is the ordinary scalar behaviour described in coercion and lifting.
Note that DAY takes a date, not a day count. DAY(45) is the day-of-month of 14 February
1900, not the number 45 reduced somehow — a confusion that shows up whenever someone reaches for
DAY when they wanted DAYS.
Returns a Number, documented as 1…31 for real calendar days.
DAY(60) is 29 and DAY(59)/DAY(61) are 28 and 1. If instead it delegates
to a real calendar without the shift, the answers slide by one. Nothing else in the date
category exposes the artefact this directly.As documented for this category:
#NUM! when serial_number is out of range for the workbook's date-base value; negative
serials are the unambiguous case.#VALUE! when the argument will not convert to a number — ordinary coercion, not a DAY rule.YEAR and MONTH; three separate derivations will
eventually disagree at serial 60.DAY(60) returns and write it down. It is the one value in this function that
a reasonable engineer could get "right" in two different ways, and it is therefore the first
thing a compatibility test should pin.Quoted from the public repository DnaCalc/DnaCalc, crates calc-func and calc-fml, at commit 9e1884369a67. Comments are the source's own. A kernel shared with other functions appears once, on its module page.
DAY · 3 lines · calc-func/src/catalogue/dates.rs on GitHub5 day_fn "DAY" (1, 1) [V "serial_number"] |s, a, sv| {
of_date(s, a, |x| k::serial_to_ymd(x).map(|(_, _, d)| d as f64))
}
environment catalogue/datessystem catalogue/datesto_1900 catalogue/datesdate_arg catalogue/datesof_date catalogue/datesdays_from_civil ported/date_kernelscivil_from_days ported/date_kernelsymd_1900 ported/date_kernelsserial_to_ymd ported/date_kernelsNo implementation has been published with a Handbook test suite for this function.
The recorded environments below distinguish a reading from a same-input comparison. Counts describe captured inputs in each environment; overlapping captures and comparisons are not totals of unique worksheet calls.
| Excel 16.0 build | Platform and CPU | Captured inputs |
|---|---|---|
| 20430 | Windows, 64-bit, CPU not recorded | 10,153 |
The record contains no same-input comparison between these environments. Reading different inputs on different builds does not establish either a version change or cross-build agreement.
Recorded environments and comparison details.
Windows, 64-bit, CPU not recorded
10,153 captured inputs are indexed for this environment. Capture dates: 2026-09-29 to 2026-09-29. This is a reading count, not a comparison with another build.
DAY reads a component of one date; DAYS measures
the interval between two. The names are one character apart and the meanings are unrelated.DAY(EOMONTH(s,0)) is the idiomatic "how many days are in this
month" formula, and is the standard way people discover the 1900 artefact by accident:
DAY(EOMONTH(DATE(1900,2,1),0)) asks a question with two possible right answers.No named variants are recorded yet.
Suggest a correction or contribute an implementation · For agents