---
title: "NOW and TODAY functions in Google Sheets: formulas and tips"
canonical: "https://www.owox.com/blog/articles/now-today-functions-google-sheets"
updated: "2026-10-05"
---

# NOW and TODAY functions in Google Sheets: current date and time, with examples

TODAY returns the current date and NOW returns the current date and time; both update on their own. This guide shows how to use them in calculations: days until a deadline, time elapsed, age, month ends and workdays, and how to control when they update or freeze the value.

[Google Sheets Tips](/blog/topics/google-sheets-tips) · Updated October 2, 2026 · [Vadym Kramarenko](/team/vadym-kramarenko) · 8 min read

![NOW and TODAY functions in Google Sheets: current date and time, with examples](https://cdn.owox.ai/www/webflow/69f0d1b6aada18f26a90a110_USE-NOW-AND-TODAY-FUNCTIONS.png/public)

**\=TODAY()** returns the current date. **\=NOW()** returns the current date and time. Neither takes an argument, and both update by themselves, so a formula built on them never has to be edited.

| You need | Formula |
| --- | --- |
| Current date | `=TODAY()` |
| Current date and time | `=NOW()` |
| Current time only | `=NOW() - TODAY()`, formatted as Time |
| Yesterday, or a week ago | `=TODAY() - 1`, `=TODAY() - 7` |
| Days until a date in E3 | `=E3 - TODAY()` |
| Age in whole years from a birthdate in E3 | `=DATEDIF(E3, TODAY(), "Y")` |
| A date and time that does not change | Ctrl + Alt + Shift + ; |

## NOW function

> `=NOW()`

NOW returns the current date and time as one value. Type the formula with empty parentheses and press Enter.

![Google Sheets with the formula =NOW() in B3 returning the current date and time, October 14, 2024 7:02:24](https://cdn.owox.ai/www/webflow/67873a0034a9a105d8e1c35c_58743.png/public)

The time comes from the time zone of the spreadsheet, not of your computer; the setting is described at the end of this guide.

Because a day is 1 in Sheets, arithmetic works directly on the result. To get the same time tomorrow, add 1:

> `=NOW()+1`

![Google Sheets with the formula =NOW()+1 in C3 returning the date and time exactly one day after the current moment](https://cdn.owox.ai/www/webflow/67873a02502f538fa2ee8bf5_58745.png/public)

For a number of hours, add a fraction of a day: `=NOW() + 3/24` is three hours from now.

## TODAY function

> `=TODAY()`

TODAY returns the current date with no time part.

![Google Sheets with the formula =TODAY() in B3 returning the current date, October 14, 2024](https://cdn.owox.ai/www/webflow/67873a0143d83293420bcc21_58747.png/public)

Add or subtract days to move the date:

> `=TODAY()-7`

![Google Sheets with the formula =TODAY()-7 in C3 returning October 7, 2024, the date seven days before the current date](https://cdn.owox.ai/www/webflow/67873a000f3dc3d3beb70f45_58749.png/public)

Use TODAY for anything that is counted in whole days. NOW carries a time, and a comparison such as `=E3 = NOW()` is practically never true.

## The Turning Point

OWOX Data Marts

See your first report built in real time. _15 minutes._

1.  Connect your data warehouse
2.  Pick your metrics
3.  Get a live Google Sheets report

In the time it takes to write a ticket. Then imagine never writing that ticket again.

[Book a Demo](/book-a-call)

We'll use your actual use case

## Calculations with NOW and TODAY

### Days until a date

Subtract today from the future date. With contract end dates in column E:

> `=E3 - TODAY()`

![Google Sheets with contract end dates in column E and the formula =E3 - TODAY() in G3 returning the number of days left until each contract ends, negative for contracts that have ended](https://cdn.owox.ai/www/webflow/67873a0092b5915fcb9738f6_58757.png/public)

The result is the number of days left. A negative number means that the date has already passed. If the cell shows a date instead of a number, set its format to **Format > Number > Number**.

### Days since a date

Swap the two parts. With the date of the last promotion in column E:

> `=TODAY() - E3`

![Google Sheets with last promotion dates and the formula =TODAY() - E3 in G3 returning the number of days since each promotion](https://cdn.owox.ai/www/webflow/67873a010f87b7102e901f20_58759.png/public)

### Is the date in the past?

A comparison returns TRUE or FALSE:

> `=E3 < TODAY()`

![Google Sheets with contract end dates and the formula =E3 < TODAY() in H3 returning TRUE for contracts that have ended and FALSE for the others](https://cdn.owox.ai/www/webflow/67873a0175f6f0003dc3e4d8_58761.png/public)

TRUE means that the contract end date is before today. The same expression works as a rule for highlighting: select the rows, open **Format > Conditional formatting**, choose **Custom formula is** and enter `=$E3 < TODAY()` to colour every row with a date in the past.

### Time elapsed, in hours

NOW keeps the time of day, so the difference from a past date includes the hours:

> `=NOW() - D3`

![Google Sheets with hire dates in column D and the formula =NOW() - D3 in F3 returning the time since each hire date as hours, minutes and seconds](https://cdn.owox.ai/www/webflow/67873a006aa20149506d197c_58753.png/public)

Apply **Format > Number > Duration** to show the result as elapsed hours, minutes and seconds.

![The Format menu of Google Sheets open on Number with the Duration format selected for the elapsed time column](https://cdn.owox.ai/www/webflow/67873a01e009bcf19f1a9530_58755.png/public)

### Age in days

When the year, the month and the day of birth are in separate columns, build the date with the [DATE function](/blog/articles/date-functions-google-sheets) and subtract it from today:

> `=TODAY() - DATE(D3, E3, F3)`

![Google Sheets with birth year, month and day in columns D, E and F and the formula =TODAY() - DATE(D3,E3,F3) in H3 returning the age of each employee in days](https://cdn.owox.ai/www/webflow/67873a01516c6ff097a72cc8_58767.png/public)

### Age in years

DATEDIF with the unit “Y” returns the number of complete years between two dates:

> `=DATEDIF(E3, TODAY(), "Y")`

![Google Sheets with birthdates in column E and the formula =DATEDIF(E3, TODAY(), “Y”) in G3 returning the age of each employee in whole years](https://cdn.owox.ai/www/webflow/67873a00fca37f9c26027661_58779.png/public)

For the age with a fraction, use [YEARFRAC](/blog/articles/year-yearfrac-google-sheets):

> `=YEARFRAC(E3, TODAY())`

![Google Sheets with birthdates in column E and the formula =YEARFRAC(E3, TODAY()) in G3 returning the age of each employee with decimals, such as 73.05](https://cdn.owox.ai/www/webflow/67873a008e5606df6626bd7b_58777.png/public)

### Last day of the current month

[EOMONTH](/blog/articles/month-eomonth-functions-google-sheets) with 0 returns the last day of the month of the date it is given:

> `=EOMONTH(NOW(), 0)`

![Google Sheets with the formula =EOMONTH(NOW(), 0) in B3 returning October 31, 2024, the last day of the current month](https://cdn.owox.ai/www/webflow/67873a008b90bb24388dd956_58769.png/public)

`=EOMONTH(TODAY(), 0)` returns the same date: EOMONTH ignores the time.

### A date some months from now

EDATE moves a date by a number of months:

> `=EDATE(TODAY(), 3)`

![Google Sheets with the formulas EDATE with NOW and EDATE with TODAY, both returning January 14, 2025, three months after October 14, 2024](https://cdn.owox.ai/www/webflow/67873a019c8667930a5d0bc6_58773.png/public)

The formula returns the date three months from today. `=EDATE(NOW(), 3)` gives the same date, because EDATE also works with the date part only. A negative number goes back in time.

### A deadline in working days

[WORKDAY](/blog/articles/workday-networkdays-functions-google-sheets) counts forward in working days and skips weekends and the holidays you list:

> `=WORKDAY(TODAY(), 15, {DATE(2024, 10, 17)})`

*   **TODAY():** the start date.
*   **15:** the number of working days to add.
*   **{DATE(2024, 10, 17)}:** a day off to skip. Write holidays with DATE or point to a range of dates.

![Google Sheets with the formula =WORKDAY(TODAY(), 15, {DATE(2024, 10, 17)}) returning November 5, 2024, fifteen working days after October 14, 2024 with one day off](https://cdn.owox.ai/www/webflow/67873a01b5f913ffd631cd4b_58781.png/public)

## Control when NOW and TODAY update

Both functions are recalculated whenever something in the spreadsheet changes. To change that, open **File > Settings**, go to the **Calculation** tab and choose a **Recalculation** option: on change, on change and every minute, or on change and every hour. With the “every minute” option a clock built on NOW keeps moving even when nobody edits the sheet.

### Freeze the value

A formula cannot stay fixed. To keep the date or time of a moment, replace the formula with its value:

*   **Paste as a value:** copy the cell, then use **Edit > Paste special > Values only** (Ctrl + Shift + V) on the same cell.
*   **Type a fixed value from the start:** Ctrl + ; inserts the current date, Ctrl + Shift + ; the current time, and Ctrl + Alt + Shift + ; both. On a Mac use Cmd in place of Ctrl, and Option in place of Alt.

## Fix the time zone

**⚠️ Error:** NOW shows a time that is several hours off.

✅ **Solution:** NOW uses the time zone of the spreadsheet. Open **File > Settings**.

![The File menu of Google Sheets with the Settings command highlighted](https://cdn.owox.ai/www/webflow/67873a03996e05e721c2e2e5_58911.png/public)

On the **General** tab, choose the right **Time zone** and click **Save and reload**.

![The Settings dialog of Google Sheets on the General tab with the Locale and Time zone fields and the Save and reload button](https://cdn.owox.ai/www/webflow/67873a01faf29d1a0fef157c_58913.png/public)

The setting belongs to the file, so everyone who opens the spreadsheet sees the same NOW, wherever they are.

## Related Google Sheets functions

Functions that are often used next to NOW and TODAY, each with its own guide:

*   [Dates and times](/blog/articles/dates-and-times-google-sheets): How Sheets stores dates and times, and how to combine and split them.
*   [DATE functions](/blog/articles/date-functions-google-sheets): DATE, EDATE, DATEVALUE and DATEDIF.
*   [TIME functions:](/blog/articles/time-functions-google-sheets) Extract and calculate hours, minutes and seconds.
*   [DAY/DAYS/DAYS360:](/blog/articles/day-days-days360-functions-google-sheets) The day of a date and the number of days between two dates.
*   [WEEKDAY/WEEKNUM:](/blog/articles/weekday-weeknum-functions-google-sheets) Returns the day of the week or the week number of the year for a date, useful for weekly reporting.
*   [QUERY date filtering](/blog/articles/date-filtering-with-query-google-sheets): Uses TODAY to build a moving date filter in a QUERY.
*   [TEXT:](/blog/articles/text-function-google-sheets) Converts numbers and dates into text in the format you specify.
*   [FILTER:](/blog/articles/google-sheets-filter-function) Returns the rows that meet a condition, for example dates after today.

## A report that knows the date still needs today’s data

TODAY keeps the formulas of a report current: the last 7 days are always the last 7 days. The rows underneath are another matter. If they were pasted in last Monday, the report shows the right dates and old numbers, and nothing on the sheet says so.

The [OWOX Data Marts extension for Google Sheets](https://workspace.google.com/marketplace/app/owox_data_marts/94902851409) covers that half. A data analyst publishes a data mart (a table or an SQL query in your data warehouse) and makes it available for reports. In Sheets you open the extension, pick the data mart, tick the columns you want and run it. The rows land in a tab, ready for your formulas.

![Google Sheets with the OWOX Data Marts extension open beside an ad spend table: the Unified Ad Spend data mart, nine of fourteen columns ticked and a Save & Run button – the rows in the sheet come from a governed data mart, not a pasted export](https://cdn.owox.ai/www/content-marketing-article/now-today-functions-google-sheets/screens/1.png/public)

What changes for the person who maintains the sheet:

*   **Refresh replaces re-export.** _Refresh current report_ in the extension menu re-runs the same pull, and a scheduled refresh keeps the tab current without anyone touching it.
*   **The source is written on the sheet.** The header cell of an imported tab carries a note with the data mart it came from, the time of the import and a link to the report.
*   **No SQL and no warehouse access needed.** The analyst decides which data marts and columns are available. You choose from that list.

The extension does not write or change the analyst’s SQL. With a scheduled refresh the rows are as current as the formulas that read them, and the note on the header cell shows when they were last imported. The extension comes with the OWOX Cloud plans of [OWOX Data Marts](https://www.owox.com/app-signup); [spreadsheet reporting](/features/spreadsheet-reporting) describes both ways data reaches a sheet.

## Your New Normal

Turn your data into decisions.

Governed data marts give you the clean foundation ML needs to actually work.

*   No AI hallucinations
*   Analyst-governed definitions
*   Every number traces to SQL

[Get started free](https://www.owox.com/app-signup)

## FAQ

## Frequently Asked Questions

How do I calculate six months from today’s date?

You can calculate six months from today’s date using the EDATE function combined with TODAY().The syntax is:=EDATE(TODAY(), 6)This will return the date that is six months after today’s date.

How to use the TODAY function in Google Sheets?

The TODAY() function returns the current date, which updates automatically every day. It’s especially useful for dynamic reports, task deadlines, or calculating how many days remain until a specific event.Syntax:=TODAY()No parameters are required for the TODAY() function. Use it to calculate future or past dates by adding or subtracting days. For example: =TODAY() + 7. This formula gives the date seven days from today. Since the value updates automatically, you won’t need to refresh the sheet manually.

How to stop the NOW function from auto-updating Google Sheets?

Since the NOW() function recalculates automatically, stopping this behavior requires making the value static. There are a couple of ways to do this:Copy and Paste as Values:Select the cell with the NOW() function, press Ctrl + C (Windows) or Cmd + C (Mac).Right-click the same cell and select Paste special > Paste values only.​This will paste the current date and time as a static value.Adjust Recalculation Settings:Go to File > Settings > Calculation.Under Recalculation, select On change and every hour or On change only to control how often the function updates.These steps allow you to keep the timestamp generated by NOW() without it updating constantly.

How to use the NOW function in Google Sheets?

Type =NOW() with empty parentheses. It returns the current date and time in the time zone of the spreadsheet and is recalculated whenever the sheet changes, so it is not suitable for recording when something happened. For a fixed timestamp press Ctrl + Alt + Shift + ; or paste the result as a value.

How do I format cells as dates?

To format cells as dates, select the cells you want to format, go to the "Format" menu, select "Number," and then choose "Date" from the list of options. You can also customize the date format under "Custom date and time formats" for more specific needs.

## Who wrote this

![Vadym Kramarenko](https://cdn.owox.ai/www/webflow/6798e703afdf787334941cde_Vadym-Kramarenko.png/public)

[Vadym Kramarenko](/team/vadym-kramarenko) · Growth Marketing Manager

Vadym Kramarenko is a Growth Marketing Manager at OWOX, where he drives user acquisition and product-led growth strategies. He hosts the OWOX podcast, interviewing analytics professionals about data-driven marketing, attribution, and reporting best practices. Vadym specializes in turning complex analytics concepts into practical, actionable marketing frameworks.

[LinkedIn](https://www.linkedin.com/in/vadim-kramarenko/) · [All articles](/team/vadym-kramarenko)

[Google Sheets Tips](/blog/topics/google-sheets-tips)

## Related articles

[Google Sheets Tips · Pivot tables in Google Sheets: how to create and use them · October 2, 2026](/blog/articles/pivot-tables-google-sheets)

[Google Sheets Tips · QUERY with CONCATENATE in Google Sheets: join two columns · October 2, 2026](/blog/articles/query-with-concatenate-google-sheets)

[Google Sheets Tips · QUERY with IMPORTRANGE in Google Sheets: formula, examples · October 2, 2026](/blog/articles/query-with-importrange-google-sheets)

[See all articles →](/blog/articles)

## Book a call

You are booked. The invitation is on its way to , with the calendar invite and the meeting link.

[Reschedule](#)

[Cancel](#)

## Links

Pages this page links to, on this site and on docs.owox.com. Where the page has a Markdown twin, its address follows the link.

- [Google Sheets Tips](https://www.owox.com/blog/topics/google-sheets-tips) — /blog/topics/google-sheets-tips.md
- [Vadym Kramarenko](https://www.owox.com/team/vadym-kramarenko) — /team/vadym-kramarenko.md
- [Book a Demo](https://www.owox.com/book-a-call) — /book-a-call.md
- [DATE function](https://www.owox.com/blog/articles/date-functions-google-sheets) — /blog/articles/date-functions-google-sheets.md
- [YEARFRAC](https://www.owox.com/blog/articles/year-yearfrac-google-sheets) — /blog/articles/year-yearfrac-google-sheets.md
- [EOMONTH](https://www.owox.com/blog/articles/month-eomonth-functions-google-sheets) — /blog/articles/month-eomonth-functions-google-sheets.md
- [WORKDAY](https://www.owox.com/blog/articles/workday-networkdays-functions-google-sheets) — /blog/articles/workday-networkdays-functions-google-sheets.md
- [Dates and times](https://www.owox.com/blog/articles/dates-and-times-google-sheets) — /blog/articles/dates-and-times-google-sheets.md
- [TIME functions:](https://www.owox.com/blog/articles/time-functions-google-sheets) — /blog/articles/time-functions-google-sheets.md
- [DAY/DAYS/DAYS360:](https://www.owox.com/blog/articles/day-days-days360-functions-google-sheets) — /blog/articles/day-days-days360-functions-google-sheets.md
- [WEEKDAY/WEEKNUM:](https://www.owox.com/blog/articles/weekday-weeknum-functions-google-sheets) — /blog/articles/weekday-weeknum-functions-google-sheets.md
- [QUERY date filtering](https://www.owox.com/blog/articles/date-filtering-with-query-google-sheets) — /blog/articles/date-filtering-with-query-google-sheets.md
- [TEXT:](https://www.owox.com/blog/articles/text-function-google-sheets) — /blog/articles/text-function-google-sheets.md
- [FILTER:](https://www.owox.com/blog/articles/google-sheets-filter-function) — /blog/articles/google-sheets-filter-function.md
- [OWOX Data Marts](https://www.owox.com/app-signup)
- [spreadsheet reporting](https://www.owox.com/features/spreadsheet-reporting) — /features/spreadsheet-reporting.md
- [Google Sheets Tips · Pivot tables in Google Sheets: how to create and use them · October 2, 2026](https://www.owox.com/blog/articles/pivot-tables-google-sheets) — /blog/articles/pivot-tables-google-sheets.md
- [Google Sheets Tips · QUERY with CONCATENATE in Google Sheets: join two columns · October 2, 2026](https://www.owox.com/blog/articles/query-with-concatenate-google-sheets) — /blog/articles/query-with-concatenate-google-sheets.md
- [Google Sheets Tips · QUERY with IMPORTRANGE in Google Sheets: formula, examples · October 2, 2026](https://www.owox.com/blog/articles/query-with-importrange-google-sheets) — /blog/articles/query-with-importrange-google-sheets.md
- [See all articles →](https://www.owox.com/blog/articles) — /blog/articles.md
