In Google Sheets, the TODAY function returns the current date, as per the local date and time settings on the user’s computer. It’s a dynamic or “volatile” Google Sheets function, meaning that it recalculates automatically.
The TODAY function is a useful way to keep dates in your spreadsheet current, regardless of when you first entered the date in your spreadsheet. It can also be combined with multiple other functions.
Unlike most other functions that Google Sheets offers, this one doesn’t take in any input parameters. Trying to do so will result in an error.
How to use the TODAY function in Google Sheets
This is one of the most straightforward functions available within Google Sheets.
You can use it as a standalone function, or you can make this an input parameter to other existing functions as shown in the snapshot below.
The first few examples show the TODAY function in its most basic form. By typing =TODAY() into a cell, you can generate today’s date. You can adjust this date by adding or subtracting days, as I have demonstrated in rows 3 and 4.
Because additional time is always in days (not months or years), to change the date by a year, you must add or subtract 365 days.
And of course, because the TODAY function updates to always reflect the current date, a function like =TODAY()-365 will always show the date 1 year ago, no matter when the function was originally entered.
Combining TODAY with other functions
TODAY is pretty versatile and you can combine it with a few other functions to get different results, as you can see in the examples below.
End of the month
In the first example in row 2, I’ve typed =EOMONTH(TODAY(),1).
EOMONTH stands for “end of the month”. The EOMONTH function returns the date of the last day of the month, a certain number of months from another date.
In simpler terms, the function here returns the date of the end of the month, one month from today.
I’m using the TODAY function as the reference date, and the 1 instructs the function to give the end-of-month date one month from the reference date. So if you enter this function on January 9th, the result will be February 28th (the last day of the month, one month from today).
In the second example in row 3, I’ve used the EDATE function. This is similar to the previous function, but it gives you a date that is a specified number of months before or after a date.
In this case, I’ve typed =EDATE(TODAY(),-11) which tells the function to return the date 11 months prior to today.
In the final example in row 4, I have used the NETWORKDAYS function to tell me, as you may have guessed from the name, the net number of working days between two dates.
The dates in my example are generated using the TODAY function – today’s date, and the date 31 days from today.
The function tells me that there are 22 workdays (i.e. weekdays, with no weekends) between the two dates. This can be very useful for business planning purposes where weekends are generally not counted.
TODAY function vs. NOW function
The TODAY function is great if you want to generate today’s date. But what if you want more detail than that – e.g. what if your spreadsheet also needs to include the time?
You can generate the current date and time in Google Sheets by using the NOW function.
Just like the TODAY function, the NOW function provides the current date, but it also includes the current time.
By typing =NOW() you can generate the current date and time, right to the second. The NOW function can be used as a more precise substitute for the TODAY function in all of the examples shown above.
TODAY function: Key tips
The TODAY function can be very handy when you use Google Sheets to store time-critical information.
However, it’s important to understand that the function will always return the current date (from the last time the spreadsheet calculated functions). So if the TODAY function displays 24-Oct-2020 now and you open the file one day from now, the function will show 25-Oct-2020.
Although this is the intended functionality of TODAY, there are two problems with this behavior:
1. You don’t want a “running” date
If you don’t want a dynamic date, and you need a static current date to populate a cell, just press the key combination Ctrl + ; (semicolon) [Command + ; (semicolon) for Mac]. This will generate the current date and it won’t change every time the spreadsheet recalculates functions.
2. Poor Google Sheets performance
Multiple TODAY functions within a spreadsheet may cause performance issues.
Google Sheets doesn’t calculate most other functions as often as it calculates the TODAY function. Since this function is time-sensitive, Google Sheets recalculates the TODAY function very frequently and multiple similar functions in your spreadsheet may cause the file to be slower than desired.
Looking for more help using dates in Google Sheets?
Check out our other spreadsheet tutorials below or read how to use the YEAR function or how to calculate differences between dates in Google Sheets.
Editor’s note: This is a revised version of a previous post that has been updated for accuracy and comprehensiveness.