TODAY Function (LibreOffice Calc)
The TODAY function returns the current date as a dynamic value that updates whenever the spreadsheet recalculates. It is essential for deadlines, schedules, dashboards, and rolling date calculations.
Compatibility
▾| Excel | ✔ |
| Gnumeric | ✔ |
| Google_sheets | ✔ |
| Libreoffice | ✔ |
| Numbers | ✔ |
| Onlyoffice | ✔ |
| Openoffice | ✔ |
| Wps | ✔ |
| Zoho | ✔ |
What the TODAY Function Does ▾
- Returns the current date
- Updates on recalculation
- Returns a serial date number (integer)
- Contains no time component
- Works in all major spreadsheet applications
It is designed to be simple, stable, and ideal for date‑only logic.
Syntax ▾
TODAY()
Arguments
- None.
Basic Examples ▾
Current date
=TODAY()
Days until a deadline
=A1 - TODAY()
Days since a start date
=TODAY() - A1
Build a label with today’s date
="Report Date: " & TEXT(TODAY(); "YYYY-MM-DD")
Advanced Examples ▾
Rolling 30‑day window
=A1 >= TODAY()-30
Rolling 7‑day forecast
=A1 <= TODAY()+7
Determine if a date is overdue
=A1 < TODAY()
Determine if a date is today
=A1 = TODAY()
Determine if a date is in the future
=A1 > TODAY()
Compute age in years
=YEAR(TODAY()) - YEAR(A1) - (DATE(YEAR(TODAY());MONTH(A1);DAY(A1)) > TODAY())
Compute age in days
=TODAY() - A1
Compute age in months
=(YEAR(TODAY())-YEAR(A1))*12 + MONTH(TODAY()) - MONTH(A1)
First day of current month
=DATE(YEAR(TODAY()); MONTH(TODAY()); 1)
Last day of current month
=EOMONTH(TODAY(); 0)
First day of next month
=EOMONTH(TODAY(); 0) + 1
Determine fiscal year (April–March example)
=YEAR(TODAY() - 90)
Convert TODAY to ISO date string
=TEXT(TODAY(); "YYYY-MM-DD")
Recalculation Behavior ▾
TODAY updates when:
- The sheet recalculates
- You edit any cell
- You press F9
- You reopen the file
TODAY does not update:
- Every second
- In real-time without recalculation
To freeze today’s date:
=TODAY()
Then copy → Paste Special → Values Only.
Edge Cases and Behavior Details ▾
TODAY returns an integer (no fractional time)
TODAY uses system date
TODAY ignores locale formatting
Formatting is applied separately.
TODAY recalculates based on spreadsheet settings
(Manual vs automatic recalculation)
TODAY of an error → error propagates
Common Errors and Fixes ▾
TODAY displays as a number (e.g., 45234)
Cause:
- Cell not formatted as a date
Fix:
- Apply a date format
TODAY not updating
Cause:
- Manual recalculation enabled
Fix:
- Press F9 or enable automatic recalculation
Wrong date
Cause:
- System clock incorrect
Fix:
- Adjust OS date settings
Best Practices ▾
- Use TODAY for date‑only logic
- Use NOW when you need time included
- Use TODAY() - A1 for elapsed days
- Use TEXT(TODAY()) for readable labels
- Freeze dates with Paste Special → Values
- Use TODAY with EDATE/EOMONTH for rolling periods
TODAY is your clean, stable, date‑only anchor — perfect for deadlines, dashboards, rolling reports, and any workflow that depends on “today” updating automatically.
Related Patterns and Alternatives ▾
- Use NOW for date + time
- Use DATE for constructing dates
- Use DAYS and DATEDIF for intervals
- Use YEAR, MONTH, DAY for extraction
- Use EDATE and EOMONTH for month offsets
By mastering TODAY and its companion functions, you can build powerful, real-time, and fully dynamic date‑driven workflows in LibreOffice Calc.