In this tutorial, you will learn the specificities of Excel time format as well as how to add a timestamp using shortcuts or insert an auto updatable time with the NOW function. You will also learn how to apply special Excel time functions to get hours, minutes or seconds from a time stamp.
Microsoft Excel has a number of helpful time features and knowing them a little in depth can save you a lot of time. Using special functions, you can insert the current date and time anywhere in a worksheet, convert time to a decimal number, sum different time units or calculate the elapsed time.
To be able to leverage powerful Excel time functions, it helps to know how Microsoft Excel stores times. So, before digging deeper into the formulas, let's invest a couple of minutes in learning the basics of the Excel time format.
If you have been following our Excel Dates tutorial, you know that Microsoft Excel stores dates as sequential numbers beginning with January 1, 1900, which is stored as number 1. Because Excel treats time as a portion of a day, times are stored as decimal fractions.
In Excel's internal system:
When both a date and time are entered in a cell, they are stored as a decimal number comprised of an integer representing the date and a decimal portion representing the time. For example, 1 June 2015 9:30:00 AM is stored as 42156.3958333333.
A quick way to pick a decimal number representing a certain time is to use the Format Cells dialog.
Simply select a cell containing the time and press Ctrl + 1 to open the Format Cells dialog box. On the Number tab, select General under Category, and you will see the decimal in the Sample box.
Now, you can write down that number and click Cancel to close the window. Or, you can click the OK button and have the time replaced with a corresponding decimal number in the cell. In fact, you can think of it as the fastest, easiest and formula-free way to convert time to decimal in Excel. In the next part of our Excel Time tutorial, we'll take a closer look at special time functions and calculations to convert time to hours, minutes or seconds.
Microsoft Excel is smart enough to recognize a time as you type and format the cell accordingly. For example, if you type 20:30, or 8:30 PM, or even 8:30 p in a cell, Excel will interpret this as a time and display either 20:30 or 8:30 PM, depending on your default time format.
If you want to format some numbers as times or apply a different time format to existing time values, you can do this by using the Format Cells dialog, as demonstrated below.
Though Microsoft Excel provides a handful of different time formats, you may want to create your own one that fits the best for a particular sheet. To do this, open the Format Cells dialog box, select Custom from the Category list and type the time format you want to apply in the Type box.
The custom time format you've created will be in the Type list the next time you need it.
Tip. The easiest way to create a custom time format in Excel is to use one of the existing formats as a starting point. For this, click Time in the Category list, and select one of the predefined formats under Type. After that switch to Custom and make the changes to the format displayed in the Type box.
When creating a custom time format in Excel, you can use the following codes.
|h||Hours without a leading zero||0-23|
|hh||Hours with a leading zero||00-23|
|m||Minutes without a leading zero||0-59|
|mm||Minutes with a leading zero||00-59|
|s||Seconds without a leading zero||0-59|
|ss||Seconds with a leading zero||00-59|
|AM/PM||Periods of the day
(if omitted, 24-hour time format is used)
|AM or PM|
Tip. To create custom formatting for dates and time, use various combinations of time codes and date codes.
The following table provides a few example of how your Excel time formats may look like:
|h:mm:ss AM/PM||1:30:00 PM|
|dddd, m/d/yy h:mm AM/PM||Tuesday, 1/13/15 1:30 PM|
|ddd, mmmm dd, yyyy hh:mm:ss||Tue, January 13, 2015 13:30:00|
When you are calculating times in Excel, a cell containing the sum of time amounts may exceed 24 hours. To get Microsoft Excel to display times beyond 24 hours correctly, apply one of the following custom time formats.
|[h]:mm||41:30||41 hours and 30 minutes|
|[h]:mm:ss||41:30:10||41 hours, 30 minutes and 10 seconds|
|[h] "hours", mm "minutes", ss "seconds"||40 hours, 30 minutes, 10 seconds|
|d h:mm:ss||1 17:30:10||1 day, 17 hours, 30 minutes and 10 seconds|
|d "day" h:mm:ss||1 day 17:30:10|
|d "day," h "hours," m "minutes and" s "seconds"||1 day, 17 hours, 30 minutes and 10 seconds|
The custom time formats discussed above work for positive values only. If the result of your calculations is a negative number formatted as time (e.g. when you subtract a bigger time amount from a smaller one), the result will be displayed as #####. If you want to format negative time values differently, the following options are available to you:
Generally speaking, a semicolon acts as a delimiter to separate positive values' format from negative values' formatting.
If you want to display negative times as negative values, e.g. -10:30, the easiest way is to change the Excel's Date System to 1904 date system. To do this, click File > Options > Advanced, scroll down to When calculating this workbook section and check Use 1904 date system box.
When changing the time format in the Format Cells dialog, you may have noticed that one of the formats begins with an asterisk (*). This is the default time format in your Excel.
To quickly apply the default Excel time format to the selected cell or a range of cells, click the drop-down arrow in the Number group, on the Home tab, and select Time.
To change the default time format, go to the Control Panel and click Region and Language. If in your Control panel opens in Category view, click Clock, Language, and Region > Region and Language > Change the date, time, or number format.
Note. When creating a new Excel time format or modifying an existing one, please remember that regardless of how you've chosen to display time in a cell, Excel always internally stores times the same way - as decimal numbers.
There are a numbers of ways to insert time in Excel, which one to use depends on whether you want a static timestamp or a dynamic value that updates automatically to reflect the current time.
If you are looking for a way to insert a timestamp in an Excel cell, i.e. a static value that won't automatically update whenever a workbook is recalculated, then use one of the following shortcuts:
If you aim to insert the current date and time as a dynamic value that refreshes automatically, then use the Excel NOW function.
The formula is as simple as it can possibly be, no arguments are required:
When using the NOW function in Excel, there are a few things to keep in mind:
If you'd rather insert only the current time in a cell without a date, you have the following choices:
Please remember, this will only change the display format, the actual value stored in a cell will still be a decimal number consisting of an integer representing the date and a fractional part representing the time.
=NOW() - INT(NOW())
The INT function is used to round the decimal number returned by NOW() down to the nearest integer. And then, you subtract the integer part representing today's date to output only the fractional part that represents the current time.
Since the formula returns a decimal, you will need to apply the time format to the cell to make the value display as time.
The following screenshot demonstrates both formulas in action. Pay attention that although the formatted time values look the same (column C), the actual values stored in cells (column D) are different - D4 contains only the fractional part:
The TIME function in Excel is used to convert a text string showing a time into a decimal that represents the time.
The syntax of the Excel TIME function is very straightforward:
=TIME(hour, minute, second)
The hour, minute and second arguments can be supplied as numbers from 0 to 32767.
For example, TIME(30, 0, 0) equates to TIME(6,0,0), which is 0.25 or 6:00 AM.
For example, TIME(0, 930, 0) is converted to TIME(15, 30, 0), which is 0.645833333 or 15:30.
The Excel TIME function is useful when it comes to merging individual values into a single time value, for example values in other cells or returned by other Excel functions.
To extract time units from a time stamp, you can use the following Excel time functions:
HOUR(serial_number) - returns an hour of a time value, as an integer from 0 (12:00 am) to 23 (11:00 pm).
MINUTE(serial_number) - gets the minutes of a time value, as integers from 0 to 59.
SECOND(serial_number) - returns the seconds of a time value, as integers from 0 to 59.
In all three functions, you can input times as text strings enclosed in double quotes (for example, "6:00 AM"), as decimal numbers (e.g. 0.25 that represents 6:00 AM), or as results of other functions. A few formula examples follow below.
=HOUR(A2)- returns the hours of the timestamp in cell A1.
=MINUTE(A2)- returns the minutes of the timestamp in cell A1.
=SECOND(A2)- returns the seconds of the timestamp in cell A1.
=HOUR(NOW())- returns the current hour.
Now that you've got down to brass tacks of the Excel time format and time functions, it will be much easier for you to manipulate dates and times in your worksheets. In the next part of our Excel Time tutorial, we are going to discuss different ways of converting time to numbers. I thank you for reading and hope to see you on our blog next week!
Table of contents