assay
test suite

date

89 tests · 74 with documented divergences

Test Subject Formula Category DVs
date-basic DATE =DATE(2025, 3, 15) value
date-leap-day DATE =DATE(2024, 2, 29) value
date-month-overflow DATE =DATE(2025, 13, 1) value 1
date-day-overflow DATE =DATE(2025, 1, 32) value 1
date-negative-month DATE =DATE(2025, -1, 15) value 1
datedif-years DATEDIF =DATEDIF("2020-01-15", "2025-03-20", "Y") value 2
datedif-months DATEDIF =DATEDIF("2020-01-15", "2025-03-20", "M") value 2
datedif-days DATEDIF =DATEDIF("2025-01-01", "2025-02-01", "D") value 2
datedif-md-day-only DATEDIF =DATEDIF("2020-01-15", "2025-03-20", "MD") value 2
datedif-ym-month-only DATEDIF =DATEDIF("2020-01-15", "2025-03-20", "YM") value 2
datevalue-iso DATEVALUE =DATEVALUE("2025-03-15") value 1
datevalue-long-form DATEVALUE =DATEVALUE("March 15, 2025") value 1
datevalue-invalid DATEVALUE =DATEVALUE("not a date") value
day-from-string DAY =DAY("2025-03-15") value 1
day-end-of-month DAY =DAY("2025-01-31") value 1
day-leap-day DAY =DAY("2024-02-29") value 1
day-from-date DAY =DAY(DATE(2025, 3, 15)) value
days-basic DAYS =DAYS("2025-03-15", "2025-03-01") value 2
days-negative DAYS =DAYS("2025-03-01", "2025-03-15") value 2
days-same-day DAYS =DAYS("2025-03-15", "2025-03-15") value 2
days-across-year DAYS =DAYS("2025-01-01", "2024-01-01") value 2
days360-basic DAYS360 =DAYS360("2025-01-15", "2025-03-15") value 2
days360-full-year DAYS360 =DAYS360("2024-01-01", "2025-01-01") value 2
days360-european-method DAYS360 =DAYS360("2025-01-31", "2025-03-31", TRUE) value 2
edate-forward EDATE =EDATE("2025-01-15", 3) value 1
edate-backward EDATE =EDATE("2025-01-15", -3) value 1
edate-month-end-clamp EDATE =EDATE("2025-01-31", 1) value 1
edate-zero EDATE =EDATE("2025-03-15", 0) value 1
eomonth-current-month EOMONTH =EOMONTH("2025-03-15", 0) value 1
eomonth-forward-by-2 EOMONTH =EOMONTH("2025-03-15", 2) value 1
eomonth-backward EOMONTH =EOMONTH("2025-03-15", -1) value 1
eomonth-leap-february EOMONTH =EOMONTH("2024-02-10", 0) value 1
epochtodate-seconds EPOCHTODATE =EPOCHTODATE(1700000000, 1) value 2
epochtodate-millis EPOCHTODATE =EPOCHTODATE(1700000000000, 2) value 2
epochtodate-default-unit EPOCHTODATE =EPOCHTODATE(1700000000) value 2
hour-from-string HOUR =HOUR("13:30:45") value 1
hour-midnight HOUR =HOUR("00:00:00") value 1
hour-from-time HOUR =HOUR(TIME(9, 15, 30)) value 1
isoweeknum-mid-year ISOWEEKNUM =ISOWEEKNUM("2025-06-15") value 2
isoweeknum-jan-1-belongs-to-prev-year ISOWEEKNUM =ISOWEEKNUM("2023-01-01") value 2
isoweeknum-first-week ISOWEEKNUM =ISOWEEKNUM("2024-01-01") value 2
minute-basic MINUTE =MINUTE("13:30:45") value 1
minute-zero MINUTE =MINUTE("13:00:00") value 1
minute-from-time MINUTE =MINUTE(TIME(9, 15, 30)) value 1
month-from-string MONTH =MONTH("2025-03-15") value 1
month-december MONTH =MONTH("2025-12-31") value 1
month-from-date MONTH =MONTH(DATE(2025, 7, 4)) value
networkdays-basic-week NETWORKDAYS =NETWORKDAYS("2025-03-03", "2025-03-07") value 2
networkdays-across-weekend NETWORKDAYS =NETWORKDAYS("2025-03-07", "2025-03-10") value 2
networkdays-with-holiday NETWORKDAYS =NETWORKDAYS("2025-03-03", "2025-03-07", "2025-03-05") value 2
networkdays-reversed NETWORKDAYS =NETWORKDAYS("2025-03-07", "2025-03-03") value 2
networkdays-intl-default-weekend NETWORKDAYS.INTL =NETWORKDAYS.INTL("2025-03-03", "2025-03-07", 1) value 2
networkdays-intl-numeric-weekend-sun-only NETWORKDAYS.INTL =NETWORKDAYS.INTL("2025-03-03", "2025-03-09", 11) value 2
networkdays-intl-string-weekend-fri-sat NETWORKDAYS.INTL =NETWORKDAYS.INTL("2025-03-03", "2025-03-09", "0000011") value 2
networkdays-intl-string-weekend-custom NETWORKDAYS.INTL =NETWORKDAYS.INTL("2025-03-03", "2025-03-09", "0000001") value 2
now NOW =NOW() volatile
second-basic SECOND =SECOND("13:30:45") value 1
second-zero SECOND =SECOND("13:30:00") value 1
second-from-time SECOND =SECOND(TIME(9, 15, 30)) value 1
time-basic TIME =TIME(9, 30, 0) value
time-midnight TIME =TIME(0, 0, 0) value 1
time-overflow-rolls TIME =TIME(25, 0, 0) value
timevalue-basic TIMEVALUE =TIMEVALUE("13:30:00") value
timevalue-noon TIMEVALUE =TIMEVALUE("12:00:00") value
timevalue-midnight TIMEVALUE =TIMEVALUE("00:00:00") value
today TODAY =TODAY() volatile
weekday-default-sunday-1 WEEKDAY =WEEKDAY("2025-03-16") value 1
weekday-sunday-1-convention WEEKDAY =WEEKDAY("2025-03-17", 1) value 1
weekday-monday-1-convention WEEKDAY =WEEKDAY("2025-03-17", 2) value 1
weekday-monday-0-convention WEEKDAY =WEEKDAY("2025-03-17", 3) value 1
weeknum-default WEEKNUM =WEEKNUM("2025-01-05") value 2
weeknum-monday-start WEEKNUM =WEEKNUM("2025-01-05", 2) value 2
weeknum-iso-system WEEKNUM =WEEKNUM("2023-01-01", 21) value
workday-forward WORKDAY =WORKDAY("2025-03-03", 5) value 2
workday-backward WORKDAY =WORKDAY("2025-03-10", -5) value 2
workday-with-holiday WORKDAY =WORKDAY("2025-03-03", 5, "2025-03-05") value 2
workday-zero-offset WORKDAY =WORKDAY("2025-03-03", 0) value 2
workday-intl-default-weekend WORKDAY.INTL =WORKDAY.INTL("2025-03-03", 5, 1) value 2
workday-intl-numeric-weekend-fri-sat WORKDAY.INTL =WORKDAY.INTL("2025-03-03", 5, 7) value 2
workday-intl-string-weekend WORKDAY.INTL =WORKDAY.INTL("2025-03-03", 5, "0000011") value 2
workday-intl-sunday-only-string WORKDAY.INTL =WORKDAY.INTL("2025-03-03", 5, "0000001") value 2
year-from-string YEAR =YEAR("2025-03-15") value 1
year-from-date YEAR =YEAR(DATE(1999, 12, 31)) value
year-millennium YEAR =YEAR("2000-01-01") value 1
yearfrac-half-year-default YEARFRAC =YEARFRAC("2025-01-01", "2025-07-01") value 1
yearfrac-us-30-360 YEARFRAC =YEARFRAC("2025-01-01", "2026-01-01", 0) value 1
yearfrac-actual-actual YEARFRAC =YEARFRAC("2025-01-01", "2026-01-01", 1) value 1
yearfrac-actual-360 YEARFRAC =YEARFRAC("2025-01-01", "2026-01-01", 2) value
yearfrac-same-date YEARFRAC =YEARFRAC("2025-03-15", "2025-03-15") value 1