How to change date format in Excel and create custom formatting

The first part of our tutorial focuses of formatting dates in Excel and explains how to set the default date and time formats, how to change date format in Excel, how to create custom date formatting, and convert your dates to another locale.

Along with numbers, dates and times are the most common data types people use in Excel. However, they may be quite confusing to work with, firstly, because the same date can be displayed in Excel in a variety of ways, and secondly, because Excel always internally stores dates in the same format regardless of how you have formatted a date in a given cell.

Knowing the Excel date formats a little in depth can help you save a ton of your time. And this is exactly the aim of our comprehensive tutorial to working with dates in Excel. In the first part, we will be focusing on the following features:

Excel date format

Before you can take advantage of powerful Excel date features, you have to understand how Microsoft Excel stores dates and times, because this is the main source of confusion. While you would expect Excel to remember the day, month and the year for a date, that's not how it works...

Excel stores dates as sequential numbers and it is only a cell's formatting that causes a number to be displayed as a date, time, or date and time.

Dates in Excel

All dates are stored as integers representing the number of days since January 1, 1900, which is stored as number 1, to December 31, 9999 stored as 2958465.

In this system:

  • 2 is 2-Jan-1900
  • 3 is 3-Jan-1900
  • 42005 is 1-Jan-2015 (because it is 42,005 days after January 1, 1900)

Time in Excel

Times are stored in Excel as decimals, between .0 and .99999, that represent a proportion of the day where .0 is 00:00:00 and .99999 is 23:59:59.

For example:

  • 0.25 is 06:00 AM
  • 0.5 is 12:00 PM
  • 0.541655093 is 12:59:59 PM

Dates & Times in Excel

Excel stores dates and times as decimal numbers comprised of an integer representing the date and a decimal portion representing the time.

For example:

  • 1.25 is January 1, 1900 6:00 AM
  • 42005.5 is January 1, 2015 12:00 PM

How to convert date to number in Excel

If you want to know what serial number represents a certain date or time displayed in a cell, you can do this in two ways.

1. Format Cells dialog

Select the cell with a date in Excel, press Ctrl+1 to open the Format Cells window and switch to the General tab.

If you just want to know the serial number behind the date, without actually converting date to number, write down the number you see under Sample and click Cancel to close the window. If you want to replace the date with the number in a cell, click OK.
Use the Format Cells dialog to get the number behind a given date in Excel.

2. Excel DATEVALUE and TIMEVALUE functions

Use the DATEVALUE() function to convert an Excel date to a serial number, for example =DATEVALUE("1/1/2015").

Use the TIMEVALUE() function to get the decimal number representing the time, for example =TIMEVALUE("6:30 AM").

To know both, date and time, concatenate these two functions in the following way:

=DATEVALUE("1/1/2015") & TIMEVALUE("6:00 AM")
Use the DATEVALUE and TIMEVALUE functions to find the number behind a given date and time in Excel.

Note. Since Excel's serial numbers begins on January 1, 1900 and negative numbers aren't recognized, dates prior to the year 1900 are not supported in Excel.

If you enter such a date in a sheet, say 12/31/1899, it will be a text value rather than a date, meaning that you cannot perform usual date arithmetic on early dates. To make sure, you can type the formula =DATEVALUE("12/31/1899") in some cell, and you will get an anticipated result - the #VALUE! error.

If you are dealing with date and time values and you'd like to convert time to decimal number, please check out the formulas described in this tutorial: How to convert time to decimal number in Excel.

Default date format in Excel

When you work with dates in Excel, the short and long date formats are retrieved from your Windows Regional settings. These default formats are marked with an asterisk (*) in the Format Cell dialog window:
Default date formats in Excel

The default date and time formats in the Format Cell box change as soon as you change the date and time settings in Control Panel, which leads us right to the next section.

How to change the default date and time formats in Excel

If you want to set a different default date and/or time formats on your computer, for example change the USA date format to the UK style, go to Control panel and click Region and Language. If in your Control panel opens in Category view, then click Clock, Language, and Region > Region and Language > Change the date, time, or number format.

On the Formats tab, choose the region under Format, and then set the date and time formatting by clicking on an arrow next to the format you want to change and selecting the desired one from the drop-down list:
Setting the default date and time formats in Control panel

Tip. If you are not sure what different codes (such as mmm, ddd, yyy) mean, click the "What does the notation mean" link under the Date and time formats section, or check the Custom Excel date formats in this tutorial.

If you are not happy with any time and date format available on the Formats tab, click the Additional settings button in the lower right-hand side of the Region and Language dialog window. This will open the Customize dialog, where you switch to the Date tab and enter a custom short or/and long date format in the corresponding box.
Setting the custom date and time formats

How to quickly apply default date and time formatting in Excel

Microsoft Excel has two default formats for dates and time - short and long, as explained in default Excel date format.

To quickly change date format in Excel to the default formatting, do the following:

  • Select the dates you want to format.
  • On the Home tab, in the Number group, click the little arrow next to the Number Format box, and select the desired format - short date, long date or time.

Quickly applying the default date and time formatting in Excel

If you want more date formatting options, either select More Number Formats from the drop-down list or click the Dialog Box Launcher next to Number. This will open a familiar Format Cells dialog and you can change date format there.
Click the Dialog Box Launcher to open the Format Cells dialog.

Tip. If you want to quickly set date format in Excel to dd-mmm-yy, press Ctrl+Shift+#. Just keep in mind that this shortcut always applies the dd-mmm-yy format, like 01-Jan-15, regardless of your Windows Region settings.

How to change date format in Excel

In Microsoft Excel, dates can be displayed in a variety of ways. When it comes to changing date format of a given cell or range of cells, the easiest way is to open the Format Cells dialog and choose one of the predefined formats.

  1. Select the dates whose format your want to change, or empty cells where you want to insert dates.
  2. Press Ctrl+1 to open the Format Cells dialog. Alternatively, you can right click the selected cells and choose Format Cells… from the context menu.
  3. In the Format Cells window, switch to the Number tab, and select Date in the Category list.
  4. Under Type, pick a desired date format. Once you do this, the Sample box will display the format preview with the first date in your selected data.
  5. If you are happy for the preview, click the OK button to save the format change and close the window.

Changing the date format in Excel

If the date format is not changing in your Excel sheet, most likely your dates are formatted as text and you have to convert them to the date format first.

How to convert date format to another locale

Once you've got a file full of foreign dates and you would most likely want to change them to the date format used in your part of the world. Let's say, you want to convert an American date format (month/day/year) to a European style format (day/month/year).

The easiest way to change date format in Excel based on how another language displays dates is as follows:

  • Select the column of dates you want to convert to another locale.
  • Press Ctrl+1 to open the Format Cells
  • Select the language you want under Locale (location) and click OK to save the change.

Converting Excel dates to another locale

If you want the dates to be displayed in another language, then you will have to create a custom date format with a locale code.

Creating a custom date format in Excel

If none of the predefined Excel date formats is suitable for you, you are free to create your own.

  1. In an Excel sheet, select the cells you want to format.
  2. Press Ctrl+1 to open the Format Cells dialog.
  3. On the Number tab, select Custom from the Category list and type the date format you want in the Type box.
  4. Click OK to save the changes.

Creating a custom date format in Excel

Tip. The easiest way to set a custom date format in Excel is to start from an existing format close to what you want. To do this, click Date in the Category list first, and select one of existing formats under Type. After that click Custom and make changes to the format displayed in the Type box.

When setting up a custom date format in Excel, you can use the following codes.

Code Description Example (January 1, 2005)
m Month number without a leading zero 1
mm Month number with a leading zero 01
mmm Month name, short form Jan
mmmm Month name, full form January
mmmmm Month as the first letter J (stands for January, June and July)
d Day number without a leading zero 1
dd Day number with a leading zero 01
ddd Day of the week, short form Mon
dddd Day of the week, full form Monday
yy Year (last 2 digits) 05
yyyy Year (4 digits) 2005

When setting up a custom time format in Excel, you can use the following codes.

Code Description Displays as
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

To set up date and time format, include both date and time units in your format code, e.g. m/d/yyyy h:mm AM/PM. When you use "m" immediately after "hh" or "h" or immediately before "ss" or "s", Excel will display minutes, not a month.

When creating a custom date format in Excel, you can use a comma (,) dash (-), slash (/), colon (:) and other characters.

For example, the same date and time, say January 13, 2015 13:03, can be displayed in a various ways:

Format Displays as
dd-mmm-yy 13-Jan-15
mm/dd/yyyy 01/13/2015
m/dd/yy 1/13/15
dddd, m/d/yy h:mm AM/PM Tuesday, 1/13/15 1:03 PM
ddd, mmmm dd, yyyy hh:mm:ss Tue, January 13, 2015 13:03:00

Tip. Using a custom date format, you can easily display the day of the week from date.

How to create a custom Excel date format for another locale

If you want to display dates in another language, you have to create a custom format and prefix a date with a corresponding locale code. The locale code should be enclosed in [square brackets] and preceded with the dollar sign ($) and a dash (-). Here are a few examples:

  • [$-409] - English, Untitled States
  • [$-1009] - English, Canada
  • [$-407] - German, Germany
  • [$-807] - German, Switzerland
  • [$-804] - Bengali, India
  • [$-804] - Chinese, China
  • [$-404] - Chinese, Taiwan

You can find the full list of locale codes on this blog.

For example, this is how you set up a custom Excel date format for the Chinese locale in the year-month-day (day of the week) time format:
Creating a custom Excel date format for the Chinese locale

The following image shows a few examples of the same date formatted with different locale codes in the way traditional for the corresponding languages:
Custom date formats for different locales

Excel date format not working - fixes and solutions

Usually, Microsoft Excel understands dates very well and you are unlikely to hit any roadblock when working with them. If you happen to have an Excel date format problem, please check out the following troubleshooting tips.

A cell is not wide enough to fit an entire date

If you see a number of pound signs (#####) instead of dates in your Excel worksheet, most likely your cells are not wide enough to fit the whole dates.

Solution. Double-click the right border of the column to resize it to auto fit the dates. Alternatively, you can drag the right border to set the column width you want. For more details, see How to fix #### error in Excel.

Negative numbers are formatted as dates

Hash marks (#####) are also displayed when a cell formatted as a date or time contains a negative value. Usually it's a result returned by some formula, but it may also happen when you type a negative value into a cell and then format that cell as a date.

If you want to display negative numbers as negative dates, two options are available to you:

Solution 1. Switch to the 1904 date system.

Go to File > Options > Advanced, scroll down to the When calculating this workbook section, select the Use 1904 date system check box, and click OK.
Switching to the 1904 date system

In this system, 0 is 1-Jan-1904; 1 is 2-Jan-1904; and -1 is displayed as a negative date -2-Jan-1904.
Negative numbers are displayed as negative dates

Of course, such representation is very unusual and takes time to get used to, but this is the right way to go if you want to perform calculations with early dates.

Solution 2. Use the Excel TEXT function.

Another possible way to display negative numbers as negative dates in Excel is using the TEXT function. For example, if you are subtracting C1 from B1 and a value in C1 is greater than in B1, you can use the following formula to output the result in the date format:

=TEXT(ABS(B1-C1),"-d-mmm-yyyy")
Use the Excel TEXT function to display negative numbers as dates.

You may want to change the cell alignment to right justified, and naturally, you can use any other custom date formats in the TEXT formula.

Note. Unlike the previous solution, the TEXT function returns a text value, that is why you won't be able to use the result in other calculations.

Dates are imported to Excel as text values

When you are importing data to Excel from a .csv file or some other external database, dates are often imported as text values. They may look like normal dates to you, but Excel perceives them as text and treats accordingly.

Solution. You can convert "text dates" to the date format using Excel's DATEVALUE function or Text to Columns feature. Please see the following article for full details: How to convert text to date in Excel.

Tip. If none of the above tips worked for you, then try to remove all formatting and then set the desired date format.

This is how you format dates in Excel. In the next part of our guide, we will discuss various ways of how you can insert dates and times in your Excel worksheets. Thank you for reading and see you next week!

932 comments

  1. Thank you very much
    I had to switch to another computer after the old one kinda died after 10 years. I had Excel 2003.
    When I got Excel 2010 all dates in all excell docs were US and single digit months.
    I got the terrible 2/9/2018 and could not convert is to my beloved format 09/02/2018. Thanks to you It was easy. Just change the language from English US to English UK.

    Thanks

  2. What is the @ symbol for. It is shown in the screen shot in the "Creating a custom date format in Excel" section, and I see it in the Excel Format Cells dialog on my Windows computer, but I can't seem to find out what it represents. Can you tell me?

    • Hi,
      The @ symbol specifies where the text entered in the cell should appear.
      Ecample —

      "Income is "@

      I hope it’ll be helpful.

  3. I am entering a date of 11/12/2020 in a cell. I am currently using custom format to display the date as 12-Nov Thu. I would like to display the date as 12-Nov Th. Is there a way to show this display with only the first two letters of the day?

    • Hello!
      This format is not available in Excel. However, you can convert this date to text and remove the last letter.

      =LEFT(E1,LEN(E1)-1)

      I hope my advice will help you solve your task.

  4. How can I change date in this format "01st Jan 2021" to "01-01-2021"?

    • Hello!
      The information you provided is not enough to understand your case and give you any advice. Please describe your problem in more detail.
      Is your date written in text or in a date format?

  5. Am going to need some help but it’s ok

  6. Hello , i have for example 19260101 this is first date of 1926 actually, But it is written just as general numbers, i need to fix it to date and 1926/01( yyyyy/month) , how can i fix it ?

    • Hello!
      To convert your value to a date, use the formula

      =DATE(LEFT(A1,4),MID(A1,5,2),RIGHT(A1,2))

      Use custom date format

      yyyy/mm

      Hope this is what you need.

  7. Hello Alex,

    I need to help-

    Example - i have date format in D cell - 15-JUL-20 and i want a formula to covert date to numberi.e 15

  8. Hi, need help with converting these date: 11/23/2020 12:00:00 AM to 11/23/2020 and subtract by 7:00:00. My formula =IF(Z3="","",DATE(YEAR(Z3-"7:00:00"),MONTH(Z3-"7:00:00"),DAY(Z3-"7:00:00"))) doesn't work. Yet the formula works if the date is in 24hr format like: 11/23/2020 00:00:00. I already tried changing the DATE formats in control panel, customized the formats in excel to dd/mm/yyy hh:mm:ss but seems to not work at all.

  9. Hello Alexander! Cannot get my head around this one. Didn't find an answer

    I have a date format

    11.11.2020 11:09:18

    I need it to be exactly

    Nov 11th, 2020 , 11:09 AM

    The main problem is with ending after date: 1st, 2nd, 3rd, 4th etc.

    Please help

    • Hello!
      The formula below will do the trick for you:

      =CONCATENATE(TEXT(D2,"mmm")," ",DAY(D2)&LOOKUP(DAY(D2),{1,"st";2,"nd";3,"rd";4,"th";21,"st";22,"nd";23,"rd";24,"th";31,"st"}),", ",TEXT(D2," yyyy, hh:mm AM/PM"))

      Hope this is what you need.

  10. Hello, I am trying to change the date in dd/mm/yyyy format from d/m/yyyy ... but it is not working as it is reading the text incorrectly, as if it is 1/9/2020 (1/Sept./2020) but it reads it as 1/Jan/2020.. Please help!

    • Hello!
      Sorry, it's not quite clear what you are trying to achieve. What is the date in the cell? What format are you using? What result do you want to get?

  11. I am downloading a report and my dates are coming up 16/01/2020 (so dd/mm/yyyy); however, the cell is formated as GENERAL and won't sort via the date.

    I have tried highlighting and formating the cells to Date - English (Canada) and picked dd/mm/yyyy; however, when I try to sort it is putting all the 01/??/???? together, then the 02/??/???? together.

    I have tried the Text to Columns and it isn't working - not all of the cells are changing over to date (if I scroll through some are still saying General).

    Is there any way to fix this issue??? Of note - I am downloading the report from ADP payroll provider.

    Thanks very much.

    Geri

  12. Thanks for reply . I already tried this and it does not work and makes no change on dates in column.

    • Hello!
      This custom date format works for me. What date format do you use on Windows? Give more an example of the source data and the expected result.
      It’ll help me understand it better and find a solution for you.
      If your data is written as text, perhaps a recommendation on how to convert text to date will help you.

  13. Hi,

    I have date in this format September 9, 2019 in one of the excel columns. I want to change it to 9/09/2019.. I tried to apply the format from the formats provided in excel, but it did not work. Any help will be highly appreciated.

  14. How to change below mentioned date in excel with DD/MM/YYYY?

    2019-02-02 13:45:20

    Pls help Urgently

  15. I have a report with date, text & time with timezone in a cell and the requirement is to sort this in ascending order. I have tried to use delimiter, concatenate and also convert text to date but the "at" in between date & time is giving me issues and i am having a tough time sorting it. Can you please help

    Example:
    Thursday, April 16, 2020 at 6:23:36 PM China Standard Time
    Sunday, April 19, 2020 at 10:18:36 PM China Standard Time
    Saturday, April 18, 2020 at 3:23:36 AM China Standard Time
    Friday, April 10, 2020 at 1:23:36 AM China Standard Time
    Thursday, April 16, 2020 at 6:23:36 PM China Standard Time
    Sunday, April 19, 2020 at 10:18:36 PM China Standard Time
    Saturday, April 18, 2020 at 3:23:36 AM China Standard Time
    Friday, April 10, 2020 at 1:23:36 AM China Standard Time
    Thursday, April 16, 2020 at 6:23:36 PM China Standard Time
    Sunday, April 19, 2020 at 10:18:36 PM China Standard Time
    Saturday, April 18, 2020 at 3:23:36 AM China Standard Time
    Friday, April 10, 2020 at 1:23:36 AM China Standard Time
    Thursday, April 16, 2020 at 6:23:36 PM China Standard Time

    • Hello!
      I’m sorry but your task is not entirely clear to me. How do you want to sort the column? Do you have text written in the cells? If you need to sort by date and time, you need to extract them from the text into another column. And sort by this column.

  16. Formula for following required :
    Todays date is September 01, 2020.
    Part A
    A tool is calibrated on Jan 01, 2020.
    It has a 6 month calibration cycle so it is overdue by 3 months
    How to show actual calibration due date and -3 month overdue date in 2 separate cells.
    Part B
    As above, but tool has calibration cycle of 24 months, therefore has 18 months remaining till due.

    I think one formula would work for both scenarios.

    Example :
    Cell A Cell B Cell C Cell D
    Calibration done cycle (m) Due Status
    Jan 01 2020 6 July 01 2020 -3
    Jan 01 2020 24 Jan 01 2022 18

    Thank You in advance for any help.

  17. Hi My worksheet is split into 12 equal sections representing the 12 months of the year.
    I started gathering data in July and I’m trying to work out how to automatically have the word August in the second section and September in the 3rd section etc. without having to type it in manually.
    Thanks

    • Hello!
      I’m sorry but your task is not entirely clear to me. For me to be able to help you better, please describe your task in more detail. Give an example of the source data and the expected result.
      It’ll help me understand it better and find a solution for you

  18. Hello

    I have this format on cell A1: Sep 22, 2020 03:09:09 AM
    What formula do i need to us to change it to: 09/22/2020 and remove the time in cell A2

    thank you in advance

    • Hello!
      If I understand your task correctly, the following formula should work for you:

      =DATE(MID(A1,FIND("~",SUBSTITUTE(A1," ","~",2),1)+1,4), VLOOKUP(LEFT(A1,3), {"JAN",1;"FEB",2;"MAR",3;"APR",4;"May",5;"JUN",6;"JUL",7;"AUG",8; "Sep",9;"OCT",10;"NOV",11;"DEC",12},2,0), MID(A1,FIND(" ",A1,1)+1,2))

      I hope it’ll be helpful.

      • That's brilliant thank you! Saved me hours of work.

  19. I do not know what I am doing wrong. I have imported dates into Excel as text values, however, using neither Excel's DATEVALUE function nor Text to Columns feature seems to work.

    In my spreadsheet, the dates are in column F and have the format "m/d/yyyy h:mm:ss AM/PM"

    For example, cell F2 contains the following text: ‎9‎/‎30‎/‎2020 ‎12‎:‎00‎:‎00‎ ‎AM

    I am able to use TRIM(LEFT(F2,FIND(" ",F2)-1)) to retrieve the date portion of the text, but when I attempt to use DATEVALUE(TRIM(LEFT(F2,FIND(" ",F2)-1))) to convert the text value to a date value, I receive a #VALUE! error.

    Please help.

    • Hello!
      Your formula is written correctly and should work. If you imported dates from another program, there may be various non-printable characters in the text. To check this, try manually entering the same information into the cell 9/30/2020 12:00:00 AM
      You can also try using this formula

      =DATE(--MID(F2,FIND("~",SUBSTITUTE(F2,"/","~",2),1)+1, FIND(" ",F2,1)-FIND("~",SUBSTITUTE(F2,"/","~",2),1)-1), --LEFT(F2, SEARCH("/",F2,1)-1), --MID(F2,FIND("~",SUBSTITUTE(F2,"/","~",1),1)+1, FIND("~",SUBSTITUTE(F2,"/","~",2),1)-FIND("~",SUBSTITUTE(F2,"/","~",1),1)-1))

      I hope it’ll be helpful.

  20. If I enter a date as 12/19/1922, my date columns are formatted to display, 19 Dec 1922. If I enter a date prior to 1900, however, the formatting will not change.
    Also, I need to calculate the age of a person and I use =datedif(xx,xx,"y"). But, again,. the calculation won't work for any date prior to 1900.
    Is there a fix for both the formatting issue and the calculation?
    Thanks in advance for your help.

    • Hello!
      Excel does not work with dates before 1900. These dates are recorded as text. Therefore, it is not possible to apply the date format to them.
      To find the difference between dates before 1900, it is recommended to add 2000 years to each of them.
      You can use something like this:

      =DATEDIF(DATEVALUE(LEFT(A1,6)&(RIGHT(A1,4)+2000)),DATEVALUE(LEFT(A2,6)&(RIGHT(A2,4)+2000)),"y")

      If there is anything else I can help you with, please let me know.

Post a comment



Thank you for your comment!
When posting a question, please be very clear and concise. This will help us provide a quick and relevant solution to
your query. We cannot guarantee that we will answer every question, but we'll do our best :)