Contact

DAYS360 Function (Calligra Sheets)

Date & Time Intermediate Calligra Sheets

Use Calligra Sheets DAYS360 with US and European month-end rules. Compare positive reversed spans and its tested difference from YEARFRAC basis zero.

Verification status: 18 selected formulas were executed through the Calligra Sheets 25.04.2 calculation engine library in the C locale. Deterministic results were independently reconstructed; 26.08.2 was source-checked only. No GUI-cell or import claim. How formula examples are checked

Convention warning: The tested 25.04.2 engine sorts the dates, so reversing them preserves a positive count. Its US February rule also differs from YEARFRAC basis 0; do not substitute one for the other without checking the required convention.

Quick answer: =DAYS360(DATE(2025;1;15);DATE(2025;4;15)) returns 90 in the tested engine.

Availability and version history

  • Introduced: First release not established; the name is present in Calligra 2.4.0 source.
  • Supported in: Calligra Sheets 26.08.2, with the limitations described here; no retirement established.
  • Scope: Desktop Sheets with the Date & Time module. Formulas use English names and semicolon separators.
  • Checked: October 14, 2026: selected 25.04.2 engine-library formulas and independent calendar/time reconstructions; 26.08.2 source only. The test locale was C, with Monday as its week start. No GUI-cell or import execution is claimed.

What DAYS360 returns

DAYS360 counts a synthetic interval using twelve 30-day months. The optional flag selects US-style adjustments or the European rule. This is a convention-based count, not the actual number of days between the dates. The implementation first puts the earlier date first. Official function reference.

Syntax and arguments

=DAYS360(start_date;end_date[;european])

start_date and end_date are required dates. european is optional: FALSE or omission selects the US branch; TRUE selects the European branch. The tested nonzero numeric flag also selected the European branch. Supply a deliberate Boolean rather than relying on invalid-text or error conversion. Brackets mark optional arguments and are not typed. Registration and implementation.

Reproducible engine examples

Numeric results are rounded here to twelve decimal places. The reconstruction column applies independent calendar arithmetic or the explicitly inspected time/conversion rule. Date serials use the tested default reference date; they do not show native GUI date formatting.

Formula Engine result Independently reconstructed calendar or time rule
=DAYS360(DATE(2025;1;15);DATE(2025;4;15)) 90 90
=DAYS360(DATE(2025;4;15);DATE(2025;1;15)) 90 90
=DAYS360(DATE(2025;2;28);DATE(2025;3;31)) 30 30
=DAYS360(DATE(2025;2;28);DATE(2025;3;31);TRUE()) 32 32
=DAYS360(DATE(2024;2;29);DATE(2025;2;28)) 360 360
=DAYS360(DATE(2024;2;29);DATE(2025;2;28);TRUE()) 359 359
=DAYS360(DATE(2025;1;31);DATE(2025;2;28)) 28 28
=DAYS360(DATE(2025;1;15);DATE(2025;1;15)) 0 0

Practical worksheet

For a simple convention comparison, place =DATE(2025;2;28) in A2 and =DATE(2025;3;31) in B2. =DAYS360(A2;B2) returns 30, while =DAYS360(A2;B2;TRUE()) returns 32. The actual calendar difference is 31 days. Put the chosen convention beside the result, especially when reproducing a published schedule.

A reversed input order still gives the same positive count here. If a worksheet needs signed intervals, establish that separate rule explicitly rather than assuming DAYS360 supplies it.

Advanced interpretation and checks

The European branch changes each day 31 to day 30. The US branch additionally handles a last day of February: it can change the first day to 30, and adjusts the second February endpoint when both are month ends. A March 31 endpoint is changed to 30 when the adjusted starting day is at least 30.

For February 28 to March 31, 2025, DAYS360 gives 30 but 360*YEARFRAC(A2;B2;0) gives 31. The following direct comparison returned −1. The two functions call different helpers in the inspected source; this is a verified difference, not rounding noise.

=DAYS360(DATE(2025;2;28);DATE(2025;3;31))-360*YEARFRAC(DATE(2025;2;28);DATE(2025;3;31);0)

The executed result was -1.

Boundaries and troubleshooting

The callback does not propagate the tested input conversion failures. Both malformed first-date text and a division-by-zero first argument produced 45,015, a count from the default reference date. An erroneous or malformed flag fell back to the false branch in the tested cases. Reject such inputs before using the result. These examples establish the exact inspected/tested conventions, not that they meet a particular financial contract.

Formula Engine result
=DAYS360(DATE(2025;3;31);DATE(2025;2;28);TRUE()) 32
=DAYS360(DATE(2025;1;29);DATE(2025;3;31)) 62
=DAYS360(DATE(2025;1;15);DATE(2025;4;15);2) 90
=DAYS360(DATE(2025;1;15);DATE(2025;4;15);"abc") 90
=DAYS360(DATE(2025;1;15);DATE(2025;4;15);1/0) 90
=DAYS360("abc";DATE(2025;1;15)) 45015
=DAYS360(1/0;DATE(2025;1;15)) 45015
=DAYS360(DATE(2025;1;15)) #VALUE!
=DAYS360(DATE(2025;1;15);DATE(2025;4;15);0;0) #VALUE!

Official evidence and precision scope

The selected callbacks, date/time module and inspected conversion/time helpers are byte-identical between the retained 25.04.2 and 26.08.2 sources. This establishes source continuity for the described paths, not execution of the later release.