TODAY
Return today's date, with no time attached, updating whenever the sheet recalculates.
Syntax
TODAY() Examples
Every example below was executed against VisiGrid engine 0.31.0 — not
transcribed from another vendor's documentation. Reproduce any of them with vgrid calc.
| Formula | Result | Notes |
|---|---|---|
=ISNUMBER(TODAY()) | TRUE | A date is a number, which is what makes date arithmetic work. |
=TODAY()=INT(TODAY()) | TRUE | No time component — that is the whole difference from NOW. |
=YEAR(TODAY())>=2024 | TRUE | |
=TODAY()+1>TODAY() | TRUE | Adding 1 moves to tomorrow, because the unit is one day. |
Why the examples look strange
Every other page here prints a result. This one cannot — TODAY() returns a
different number tomorrow, so an example saying 46245 would be wrong within a
day and wrong forever after.
So the examples assert the shape instead: that it is a number, that it has no time component, that adding one moves a day. Those stay true whenever you read them, and the build executes them like every other example on this site.
It is the same problem anyone testing a spreadsheet has. Comparing against a fixed date works for exactly one day; comparing properties works always.
It changes under you
TODAY() is recalculated, not stamped. Open a sheet tomorrow and every formula
built on it gives a different answer — which is right for “days until due” and
wrong for “the date this invoice was raised”.
For a date that must not move, type it in. DATE(2026,8,11)
is a fact; TODAY() is a question the sheet re-asks every time it recalculates.
Getting that backwards is how an audit trail quietly rewrites itself.
Days between now and then
Subtraction, because a date is a number:
=A1 - TODAY() → days until the date in A1
=DAYS(A1, TODAY()) → the same, with the arguments named
For working days rather than calendar days, use
NETWORKDAYS, which skips weekends and counts both
ends.
Excel compatibility
Matches Excel. Takes no arguments and returns a whole-number date serial.