ISDATE in Calligra Sheets: Check for date-formatted values
Understand ISDATE date type checks, locale-sensitive text, and reliable DATE examples.
Verification status: Official documentation referenced; example outcomes independently reasoned or arithmetically checked where stated. Not executed in Calligra Sheets. How formula examples are checked
Quick answer: Detect typed date or date-time values before using them in a schedule.
Release and testing scope. The KDE Calligra Sheets release listing identifies 26.08.2 (2026-10-08) as the latest release checked on 2026-10-12. This guide compares the KDE Sheets function handbook with the pinned 26.08.2 implementation. The reference handbook is older than the release. No formula was run inside Calligra Sheets for this guide. All results are labelled KDE-documented, source-inferred or independently reasoned expected; these labels are not interchangeable with observed runtime outcomes. Example formulas use KDE’s published semicolon argument separator. A localized installation may differ in input separator, function name display, date parsing and display of Boolean values.
Purpose: test value type, not whether a string looks like a date
ISDATE asks whether the evaluated value is tagged as a date or date-time in Calligra. This is useful for calendars, transaction logs and deadline sheets, but is not necessarily the same as recognizing a string that a person can read as a date. The implementation inspects a value’s format classification rather than parsing text inside this function.
A particularly useful distinction: KDE’s older handbook shows ISDATE("2000-2-2") returning TRUE, whereas the 26.08.2 source checks whether the value’s format is fmt_Date or fmt_DateTime. There is no native test here to establish whether a quoted string is classified or coerced into a date before the callback. Treat the quoted example as a handbook assertion, not independently observed runtime proof.
Official syntax and argument contract
=ISDATE(x)
| Position | Parameter | Required | Documented type | Default |
|---|---|---|---|---|
| 1 | x |
Yes | Any evaluated value | None |
Returns a Boolean. KDE lists one required parameter and no optional settings. The KDE handbook ISDATE section documents ISDATE(x), and pinned C++ lines 314–318 specify that date and date-time format tags meet the test. Do not infer a default calendar system, text parser or timezone from these sources.
Reproducible worksheet with DATE values
Instead of relying on a locale-specific typed string, use the official DATE constructor. Create this two-column sample:
| Cell | Enter | Interpretation |
|---|---|---|
| A2 | =DATE(2026;10;12) |
A constructed date (12 October 2026) |
| A3 | 42 |
An ordinary integer |
| A4 | "Meeting moved" |
Plain text (enter as text, not a formula) |
Then enter these tests in B2:B4:
B2: =ISDATE(A2)
B3: =ISDATE(A3)
B4: =ISDATE(A4)
| Test | Source-inferred expected result | Reason |
|---|---|---|
=ISDATE(A2) |
TRUE | DATE constructs a value tagged as a date |
=ISDATE(A3) |
FALSE | Plain integer is not tagged as a date |
=ISDATE(A4) |
FALSE | Ordinary text is not tagged as a date |
KDE’s DATE XML definition specifies three year/month/day integers, and its 26.08.2 DATE source constructs a QDate. Expected Boolean outcomes are from combining those implementations, not observed Calligra cells. The date’s display may vary with locale. DATE(2026;10;12) uses semicolons as the documented syntax, not a claim about every locale’s separator.
Advanced example: mark suspect dates without losing the original
If A2:A20 contains typed calendar entries and imported text, put this in B2, then copy it down:
=IF(ISDATE(A2);"Date value";"Review date entry")
On the sample above, expected strings are Date value for the constructed date and Review date entry for the ordinary number and text. This flags an entry for review, but it does not prove that the date is within a valid business range or that timezones and locales align. Add a separate minimum/maximum date check to enforce a business rule.
Edge case: date-time versus time-only
The 26.08.2 callback explicitly accepts fmt_DateTime, so a genuinely typed date-time value should satisfy ISDATE. A time-only value has its own format classification and should not match ISDATE unless the engine supplies a combined format. Whether imported date-time text becomes a typed value depends on input rules not tested here. See KDE’s ISTIME section for the related format check.
Troubleshooting and limits
- Text date that looks valid: the handbook quotes a string example as TRUE, but the callback checks type/format. Test the exact import and locale before relying on that assertion; do not promise the same output in all configurations.
- A serial number gives FALSE: numeric date serials and date-formatted typed values can have different internal classification. This function is not a serial-number validator.
- Unexpected formatting after copying: display format and stored value type can diverge. Compare with a control cell created by
DATE. - Invalid or missing input: KDE does not define a complete error-token matrix for ISDATE. Test malformed
DATEarguments, blank cells and error values on the target build; avoid claiming specific errors. - Locale and edition: regional parsing, display strings, calendar rules and packaged function modules may vary. The code revision alone cannot validate a particular installation.
Compatibility with other spreadsheets
The Microsoft Excel IS-function reference does not list ISDATE among its documented standard IS functions. Excel contains other date constructors and parsing methods, but copying a Calligra ISDATE(...) formula into Excel should not be advertised as portable. ISNUMBER is not an equivalent replacement because dates can be stored as serial numbers in other spreadsheet products. For LibreOffice Calc or other tools, investigate their actual function list and their date type semantics; the Calligra source is not runtime evidence for another product.
Official references and evidence
Check KDE ISDATE, KDE DATE, and the pinned information.cpp format test. Inspected 2026-10-12.