Back to Functions

TODAY

Returns the current date as a date value.

DateTODAY()

TODAY returns the current date and updates every time the sheet recalculates. It is the anchor for anything that depends on "now": days until a deadline, overdue flags, ages, rolling reports and countdowns.

Syntax

=TODAY()

TODAY takes no arguments, but the parentheses are required. The result is a date with no time component. To include the time as well, use NOW().

How it works

Dates in Google Sheets are numbers: the count of days since December 30, 1899. TODAY() returns today's number, formatted as a date. That is why you can add and subtract dates directly:

  • =TODAY() + 7 is a week from today.
  • =TODAY() - 30 is 30 days ago.
  • =A2 - TODAY() is the number of days until the date in A2 (negative if it has passed).

If the result shows as a number such as 46096, format the cell as a date (Format > Number > Date).

Basic examples

=TODAY()

Today's date.

=A2 - TODAY()

Days remaining until the deadline in A2.

=IF(A2 < TODAY(), "Overdue", "On time")

Flags overdue items.

=TODAY() + 30

A due date 30 days from now.

Practical patterns

Age from a birth date

=DATEDIF(A2, TODAY(), "Y")

Whole years between the birth date and today. See DATEDIF.

First and last day of the current month

=EOMONTH(TODAY(), -1) + 1
=EOMONTH(TODAY(), 0)

Days elapsed this year

=TODAY() - DATE(YEAR(TODAY()), 1, 1) + 1

Days left in the year

=DATE(YEAR(TODAY()), 12, 31) - TODAY()

Business days until a deadline

=NETWORKDAYS(TODAY(), A2)

See NETWORKDAYS.

Rolling windows in reports

=SUMIFS(C2:C1000, A2:A1000, ">=" & (TODAY() - 30), A2:A1000, "<=" & TODAY())

Sums the last 30 days.

Highlight rows with conditional formatting

Use a custom formula rule such as =$A2 < TODAY() to color overdue rows red, or =AND($A2 >= TODAY(), $A2 <= TODAY() + 7) for items due in the next week.

Day name or month name

=TEXT(TODAY(), "dddd")
=TEXT(TODAY(), "mmmm yyyy")

Video Example

TODAY is volatile (and what that means)

TODAY is a volatile function: it recalculates whenever the spreadsheet recalculates, so it always shows the current date. Two consequences:

  • Results change over time. An overdue flag that says "On time" today will say "Overdue" tomorrow. That is the point, but it means old reports change if you reopen them. To freeze a report, copy the cells and paste them as values only.
  • You cannot use TODAY as a timestamp. If you need to record when something happened, TODAY() will keep changing. Instead, enter the date with the keyboard shortcut Ctrl+; (or Cmd+; on a Mac), which inserts a fixed value, or use Apps Script to stamp a cell.

In File > Settings > Calculation, you can set recalculation to "On change" or "On change and every minute/hour". Because TODAY only needs to change once a day, any of these options works.

Time zone

TODAY uses the spreadsheet's time zone, set under File > Settings > General. If a team in another time zone sees the wrong date around midnight, check that setting.

Common problems

  • A number instead of a date. Format the cell as a date.
  • A date that never changes. The cell contains a typed date, not the formula. Check that it starts with =.
  • A date off by one. The spreadsheet time zone differs from yours.
  • Time shows as 00:00:00. TODAY has no time component. Use NOW() for date and time.
  • Comparing text dates. =A2 < TODAY() only works when A2 is a real date. A left-aligned date is probably text; convert it with DATEVALUE.
  • Slow sheets. Thousands of volatile formulas recalculate constantly. Put TODAY() in one cell, and refer to that cell elsewhere.

TODAY vs. NOW

  • TODAY() returns the date only (midnight).
  • NOW() returns the date and the current time.
  • For "is it before today?" comparisons, TODAY() is cleaner, because NOW() includes a fractional time that can make same-day comparisons behave unexpectedly.

Frequently asked questions

Does TODAY update automatically? Yes, whenever the spreadsheet recalculates, which happens when you open it or edit it.

How do I make a date that does not change? Type it, or press Ctrl+; (Cmd+; on Mac), or paste TODAY() as values only.

Can I get tomorrow's or yesterday's date? =TODAY() + 1 and =TODAY() - 1.

How do I calculate working days only? Use NETWORKDAYS or WORKDAY.

Related Functions

  • NOW: Returns the current date and time.
  • DATEDIF: Calculates the difference between two dates in years, months or days.
  • EOMONTH: Returns the last day of a month.
  • NETWORKDAYS: Counts working days between two dates.
  • TEXT: Formats a date as text.

Related Articles

Newsletter

More TODAY examples coming soon.

We are building short, practical updates for Sheets power users.