TODAY vs NOW: date, or date plus time?
TODAY() is midnight at the start of today; NOW() is this exact second. The fractional day NOW carries is what quietly breaks date comparisons — and neither function is the right tool when you need a timestamp that doesn't change.
The differences at a glance
| TODAY | NOW | |
|---|---|---|
| Returns | Today's date (time = 00:00) | Date AND time-of-day fraction |
| A2=TODAY() when A2 is today's date | TRUE | FALSE for NOW() — the time fraction spoils equality |
| Updates | On any recalculation (volatile) | Same — every recalc, so it creeps forward |
| Strip to a date | Already a date | INT(NOW()) or TRUNC(NOW()) |
| Compatibility | Universal | Universal (verified in every version we test) |
Which should you use?
- TODAY — Deadlines, ages, overdue flags — anything comparing DATES. Using NOW in a date comparison is the classic off-by-a-fraction bug.
- NOW — Displaying a live clock or computing hours-since. For a PERMANENT timestamp, use neither: press Ctrl+; (date) or Ctrl+Shift+; (time) to stamp a static value that won't update tomorrow.
Compatibility (from executed tests)
Both are volatile and behave identically in every version of Excel, Google Sheets, and LibreOffice we test (our harness verifies NOW()>=TODAY() and NOW()-NOW()=0 as executed facts). Volatility has a cost: thousands of NOW/TODAY cells force full recalcs — reference one helper cell instead of repeating the call per row.
Example formulas
| Overdue test (correct — dates compared) | =A2<TODAY() |
| Hours since a timestamp | =(NOW()-A2)*24 |
| Today from NOW | =INT(NOW()) |
Full per-version details on each function page: TODAY · NOW.