In this post, we will learn how to format date in Power Automate and how to change date format in Power Automate in different date formats like dd/MM/yyyy, MM/dd/yyyy โฆetc
Date Format in Power Automate
Power Automate is one of the four products of the Microsoft Power Platform which is a cloud-based automation platform that allows users to build automated processes across different apps and services in no-code/low-code.
In Power Automate, if you tried to use a date field in your flow in an Email body or a Microsoft Team message, you will note that the default date format in Power Automat is shown as in this format YYYY-MM-ddT21:00:00.000Z even you have formatted the date field in your data source with your desired format!

In many cases, the default Power Automate Date format is not acceptable to be used, and you may need to format date in Power Automate in different date formats like dd/MM/yyyy, MM/dd/yyyy โฆetc
How to Format Date in Power Automate?
Consider, you have a table with a date column as shown below

And you need to create a Power Automat flow to send an email or post a Microsoft Team Message for each user in this table based on specific criteria.
In the message/email body, you need to send the task details like Task Name, and its finished date.

But when you send the date in Microsoft Team message or email body from Power Automate, you will note that the Power Automate Date format is shown in a standard format that may not match your requirements as below.

To Format Date in Power Automate, you have to do the following:
- Ensure that your field holds a value in a correct date fromat.
- Create a new variable with a string format outside your loop
- Set the created variable to the date value.
- Use the FormatDateTime() function in Power Automate.
1) Ensure Date Field Fomat
Regardless of your current data source, you have first to make sure that the current field value is in a correct date format to ensure that your flow will work as expected.
In our example, we have a โFinish Dateโ column in a correct date format that will be used in our Email body in Power Automate.

2) Create a new variable in Power Automate
Due to our flow will loop for each row in our table, you have to initialize a new variable outside this loop.

How to Create a Variable in Power Automate?
To initialize or create a new variable in Power Automate to be outside your loop, you have to do the following:
- Between the trigger and the loop, click on the Plus icon to insert a new step as action.

- Search for Variables, and from the variable search result, select โInitialize Variableโ.

- Set the Variable name as you prefer, then set the variable data type to โStringโ.

3) Set a variable in Power Automate
Now you have to set the date value to the newly created variable In your loop by doing the following:
- In your loop, add a new action.

- Search for variables, and then select โSet Variableโ action.

- Finally, in โSet Variableโ action, select the variable name and the date field name.

4) Use FormatDateTime() in Power Automate
After setting the date variable with the date field, you can now use the FormatDateTime() in Power Automate to format your date in different date formats like dd/MM/yyyy, MM/dd/yyyy โฆetc
To format Date in Power Automate using FormatDateTime() function, you have to do the following:
- Below the โSet Variableโ action, add another action to send Email or Post Microsoft Teams message to a specific channel for specific user as you need.

- In messae body, add new expression with the below function based on your variable name and the required date format.

formatDateTime(variables('VariableName'),'MM-dd-yyyy')
- Click Ok to add the FormatDateTime function in your message body.

- Now, test and run your flow, you should note that the Power Automate Date format is sent to your chanel with the desired date fromat that was used in the FormatDateTime() function.

Format current date in Power Automate
In some scenarios, you may also need to send the current date in your email body or Microsoft Teams message, so in this case, you can easily use the utcNow() function from the expression section to send the current date.
utcNow()

However, you will note that the current date is sent in a format that may be not suitable for you as below:

To fix this issue and format the current date in Power Automate, you have also to use the formatDateTime() as the following:
formatDateTime(utcNow(),'MM-dd-yyyy')

Great, the current date has been formatted in โMM-dd-yyyyโ format after using formatDateTime() in Power Automate as shown below.

Standard date and time format specifiers
To format date in Power Automat in different dates format as you desire, you have to check the following table that describes the standard date and time format specifiers.
| Format specifier | Description | Examples |
|---|---|---|
| โdโ | Short date pattern. More information:The short date (โdโ) format specifier. | 2009-06-15T13:45:30 -> 6/15/2009 (en-US) 2009-06-15T13:45:30 -> 15/06/2009 (fr-FR) 2009-06-15T13:45:30 -> 2009/06/15 (ja-JP) |
| โDโ | Long date pattern. More information:The long date (โDโ) format specifier. | 2009-06-15T13:45:30 -> Monday, June 15, 2009 (en-US) 2009-06-15T13:45:30 -> 15 ะธัะฝั 2009 ะณ. (ru-RU) 2009-06-15T13:45:30 -> Montag, 15. Juni 2009 (de-DE) |
| โfโ | Full date/time pattern (short time). More information: The full date short time (โfโ) format specifier. | 2009-06-15T13:45:30 -> Monday, June 15, 2009 1:45 PM (en-US) 2009-06-15T13:45:30 -> den 15 juni 2009 13:45 (sv-SE) 2009-06-15T13:45:30 -> ฮฮตฯ ฯฮญฯฮฑ, 15 ฮฮฟฯ ฮฝฮฏฮฟฯ 2009 1:45 ฮผฮผ (el-GR) |
| โFโ | Full date/time pattern (long time). More information: The full date long time (โFโ) format specifier. | 2009-06-15T13:45:30 -> Monday, June 15, 2009 1:45:30 PM (en-US) 2009-06-15T13:45:30 -> den 15 juni 2009 13:45:30 (sv-SE) 2009-06-15T13:45:30 -> ฮฮตฯ ฯฮญฯฮฑ, 15 ฮฮฟฯ ฮฝฮฏฮฟฯ 2009 1:45:30 ฮผฮผ (el-GR) |
| โgโ | General date/time pattern (short time). More information: The general date short time (โgโ) format specifier. | 2009-06-15T13:45:30 -> 6/15/2009 1:45 PM (en-US) 2009-06-15T13:45:30 -> 15/06/2009 13:45 (es-ES) 2009-06-15T13:45:30 -> 2009/6/15 13:45 (zh-CN) |
| โGโ | General date/time pattern (long time). More information: The general date long time (โGโ) format specifier. | 2009-06-15T13:45:30 -> 6/15/2009 1:45:30 PM (en-US) 2009-06-15T13:45:30 -> 15/06/2009 13:45:30 (es-ES) 2009-06-15T13:45:30 -> 2009/6/15 13:45:30 (zh-CN) |
| โMโ, โmโ | Month/day pattern. More information: The month (โMโ, โmโ) format specifier. | 2009-06-15T13:45:30 -> June 15 (en-US) 2009-06-15T13:45:30 -> 15. juni (da-DK) 2009-06-15T13:45:30 -> 15 Juni (id-ID) |
| โOโ, โoโ | round-trip date/time pattern. More information: The round-trip (โOโ, โoโ) format specifier. | DateTime values: 2009-06-15T13:45:30 (DateTimeKind.Local) โ> 2009-06-15T13:45:30.0000000-07:00 2009-06-15T13:45:30 (DateTimeKind.Utc) โ> 2009-06-15T13:45:30.0000000Z 2009-06-15T13:45:30 (DateTimeKind.Unspecified) โ> 2009-06-15T13:45:30.0000000 DateTimeOffset values: 2009-06-15T13:45:30-07:00 โ> 2009-06-15T13:45:30.0000000-07:00 |
| โRโ, โrโ | RFC1123 pattern. More information: The RFC1123 (โRโ, โrโ) format specifier. | 2009-06-15T13:45:30 -> Mon, 15 Jun 2009 20:45:30 GMT |
| โsโ | Sortable date/time pattern. More information: The sortable (โsโ) format specifier. | 2009-06-15T13:45:30 (DateTimeKind.Local) -> 2009-06-15T13:45:30 2009-06-15T13:45:30 (DateTimeKind.Utc) -> 2009-06-15T13:45:30 |
| โtโ | Short time pattern. More information: The short time (โtโ) format specifier. | 2009-06-15T13:45:30 -> 1:45 PM (en-US) 2009-06-15T13:45:30 -> 13:45 (hr-HR) 2009-06-15T13:45:30 -> 01:45 ู (ar-EG) |
| โTโ | Long time pattern. More information: The long time (โTโ) format specifier. | 2009-06-15T13:45:30 -> 1:45:30 PM (en-US) 2009-06-15T13:45:30 -> 13:45:30 (hr-HR) 2009-06-15T13:45:30 -> 01:45:30 ู (ar-EG) |
| โuโ | Universal sortable date/time pattern. More information: The universal sortable (โuโ) format specifier. | With a DateTime value: 2009-06-15T13:45:30 -> 2009-06-15 13:45:30Z With a DateTimeOffset value: 2009-06-15T13:45:30 -> 2009-06-15 20:45:30Z |
| โUโ | Universal full date/time pattern. More information: The universal full (โUโ) format specifier. | 2009-06-15T13:45:30 -> Monday, June 15, 2009 8:45:30 PM (en-US) 2009-06-15T13:45:30 -> den 15 juni 2009 20:45:30 (sv-SE) 2009-06-15T13:45:30 -> ฮฮตฯ ฯฮญฯฮฑ, 15 ฮฮฟฯ ฮฝฮฏฮฟฯ 2009 8:45:30 ฮผฮผ (el-GR) |
| โYโ, โyโ | Year month pattern. More information: The year month (โYโ) format specifier. | 2009-06-15T13:45:30 -> June 2009 (en-US) 2009-06-15T13:45:30 -> juni 2009 (da-DK) 2009-06-15T13:45:30 -> Juni 2009 (id-ID) |
| Any other single character | Unknown specifier. | Throws a run-time FormatException. |
The following table also describes the custom date and time format specifiers and displays a result string produced by each format specifier.
| Format specifier | Description | Examples |
|---|---|---|
| โdโ | The day of the month, from 1 through 31. More information: The โdโ Custom Format Specifier. | 2009-06-01T13:45:30 -> 1 2009-06-15T13:45:30 -> 15 |
| โddโ | The day of the month, from 01 through 31. More information: The โddโ Custom Format Specifier. | 2009-06-01T13:45:30 -> 01 2009-06-15T13:45:30 -> 15 |
| โdddโ | The abbreviated name of the day of the week. More information: The โdddโ Custom Format Specifier. | 2009-06-15T13:45:30 -> Mon (en-US) 2009-06-15T13:45:30 -> ะะฝ (ru-RU) 2009-06-15T13:45:30 -> lun. (fr-FR) |
| โddddโ | The full name of the day of the week. More information: The โddddโ Custom Format Specifier. | 2009-06-15T13:45:30 -> Monday (en-US) 2009-06-15T13:45:30 -> ะฟะพะฝะตะดะตะปัะฝะธะบ (ru-RU) 2009-06-15T13:45:30 -> lundi (fr-FR) |
| โfโ | The tenths of a second in a date and time value. More information: The โfโ Custom Format Specifier. | 2009-06-15T13:45:30.6170000 -> 6 2009-06-15T13:45:30.05 -> 0 |
| โffโ | The hundredths of a second in a date and time value. More information: The โffโ Custom Format Specifier. | 2009-06-15T13:45:30.6170000 -> 61 2009-06-15T13:45:30.0050000 -> 00 |
| โfffโ | The milliseconds in a date and time value. More information: The โfffโ Custom Format Specifier. | 6/15/2009 13:45:30.617 -> 617 6/15/2009 13:45:30.0005 -> 000 |
| โffffโ | The ten thousandths of a second in a date and time value. More information: The โffffโ Custom Format Specifier. | 2009-06-15T13:45:30.6175000 -> 6175 2009-06-15T13:45:30.0000500 -> 0000 |
| โfffffโ | The hundred thousandths of a second in a date and time value. More information: The โfffffโ Custom Format Specifier. | 2009-06-15T13:45:30.6175400 -> 61754 6/15/2009 13:45:30.000005 -> 00000 |
| โffffffโ | The millionths of a second in a date and time value. More information: The โffffffโ Custom Format Specifier. | 2009-06-15T13:45:30.6175420 -> 617542 2009-06-15T13:45:30.0000005 -> 000000 |
| โfffffffโ | The ten millionths of a second in a date and time value. More information: The โfffffffโ Custom Format Specifier. | 2009-06-15T13:45:30.6175425 -> 6175425 2009-06-15T13:45:30.0001150 -> 0001150 |
| โFโ | If non-zero, the tenths of a second in a date and time value. More information: The โFโ Custom Format Specifier. | 2009-06-15T13:45:30.6170000 -> 6 2009-06-15T13:45:30.0500000 -> (no output) |
| โFFโ | If non-zero, the hundredths of a second in a date and time value. More information: The โFFโ Custom Format Specifier. | 2009-06-15T13:45:30.6170000 -> 61 2009-06-15T13:45:30.0050000 -> (no output) |
| โFFFโ | If non-zero, the milliseconds in a date and time value. More information: The โFFFโ Custom Format Specifier. | 2009-06-15T13:45:30.6170000 -> 617 2009-06-15T13:45:30.0005000 -> (no output) |
| โFFFFโ | If non-zero, the ten thousandths of a second in a date and time value. More information: The โFFFFโ Custom Format Specifier. | 2009-06-15T13:45:30.5275000 -> 5275 2009-06-15T13:45:30.0000500 -> (no output) |
| โFFFFFโ | If non-zero, the hundred thousandths of a second in a date and time value. More information: The โFFFFFโ Custom Format Specifier. | 2009-06-15T13:45:30.6175400 -> 61754 2009-06-15T13:45:30.0000050 -> (no output) |
| โFFFFFFโ | If non-zero, the millionths of a second in a date and time value. More information: The โFFFFFFโ Custom Format Specifier. | 2009-06-15T13:45:30.6175420 -> 617542 2009-06-15T13:45:30.0000005 -> (no output) |
| โFFFFFFFโ | If non-zero, the ten millionths of a second in a date and time value. More information: The โFFFFFFFโ Custom Format Specifier. | 2009-06-15T13:45:30.6175425 -> 6175425 2009-06-15T13:45:30.0001150 -> 000115 |
| โgโ, โggโ | The period or era. More information: The โgโ or โggโ Custom Format Specifier. | 2009-06-15T13:45:30.6170000 -> A.D. |
| โhโ | The hour, using a 12-hour clock from 1 to 12. More information: The โhโ Custom Format Specifier. | 2009-06-15T01:45:30 -> 1 2009-06-15T13:45:30 -> 1 |
| โhhโ | The hour, using a 12-hour clock from 01 to 12. More information: The โhhโ Custom Format Specifier. | 2009-06-15T01:45:30 -> 01 2009-06-15T13:45:30 -> 01 |
| โHโ | The hour, using a 24-hour clock from 0 to 23. More information: The โHโ Custom Format Specifier. | 2009-06-15T01:45:30 -> 1 2009-06-15T13:45:30 -> 13 |
| โHHโ | The hour, using a 24-hour clock from 00 to 23. More information: The โHHโ Custom Format Specifier. | 2009-06-15T01:45:30 -> 01 2009-06-15T13:45:30 -> 13 |
| โKโ | Time zone information. More information: The โKโ Custom Format Specifier. | With DateTime values: 2009-06-15T13:45:30, Kind Unspecified -> 2009-06-15T13:45:30, Kind Utc -> Z 2009-06-15T13:45:30, Kind Local -> -07:00 (depends on local computer settings) With DateTimeOffset values: 2009-06-15T01:45:30-07:00 โ> -07:00 2009-06-15T08:45:30+00:00 โ> +00:00 |
| โmโ | The minute, from 0 through 59. More information: The โmโ Custom Format Specifier. | 2009-06-15T01:09:30 -> 9 2009-06-15T13:29:30 -> 29 |
| โmmโ | The minute, from 00 through 59. More information: The โmmโ Custom Format Specifier. | 2009-06-15T01:09:30 -> 09 2009-06-15T01:45:30 -> 45 |
| โMโ | The month, from 1 through 12. More information: The โMโ Custom Format Specifier. | 2009-06-15T13:45:30 -> 6 |
| โMMโ | The month, from 01 through 12. More information: The โMMโ Custom Format Specifier. | 2009-06-15T13:45:30 -> 06 |
| โMMMโ | The abbreviated name of the month. More information: The โMMMโ Custom Format Specifier. | 2009-06-15T13:45:30 -> Jun (en-US) 2009-06-15T13:45:30 -> juin (fr-FR) 2009-06-15T13:45:30 -> Jun (zu-ZA) |
| โMMMMโ | The full name of the month. More information: The โMMMMโ Custom Format Specifier. | 2009-06-15T13:45:30 -> June (en-US) 2009-06-15T13:45:30 -> juni (da-DK) 2009-06-15T13:45:30 -> uJuni (zu-ZA) |
| โsโ | The second, from 0 through 59. More information: The โsโ Custom Format Specifier. | 2009-06-15T13:45:09 -> 9 |
| โssโ | The second, from 00 through 59. More information: The โssโ Custom Format Specifier. | 2009-06-15T13:45:09 -> 09 |
| โtโ | The first character of the AM/PM designator. More information: The โtโ Custom Format Specifier. | 2009-06-15T13:45:30 -> P (en-US) 2009-06-15T13:45:30 -> ๅ (ja-JP) 2009-06-15T13:45:30 -> (fr-FR) |
| โttโ | The AM/PM designator. More information: The โttโ Custom Format Specifier. | 2009-06-15T13:45:30 -> PM (en-US) 2009-06-15T13:45:30 -> ๅๅพ (ja-JP) 2009-06-15T13:45:30 -> (fr-FR) |
| โyโ | The year, from 0 to 99. More information: The โyโ Custom Format Specifier. | 0001-01-01T00:00:00 -> 1 0900-01-01T00:00:00 -> 0 1900-01-01T00:00:00 -> 0 2009-06-15T13:45:30 -> 9 2019-06-15T13:45:30 -> 19 |
| โyyโ | The year, from 00 to 99. More information: The โyyโ Custom Format Specifier. | 0001-01-01T00:00:00 -> 01 0900-01-01T00:00:00 -> 00 1900-01-01T00:00:00 -> 00 2019-06-15T13:45:30 -> 19 |
| โyyyโ | The year, with a minimum of three digits. More information: The โyyyโ Custom Format Specifier. | 0001-01-01T00:00:00 -> 001 0900-01-01T00:00:00 -> 900 1900-01-01T00:00:00 -> 1900 2009-06-15T13:45:30 -> 2009 |
| โyyyyโ | The year as a four-digit number. More information: The โyyyyโ Custom Format Specifier. | 0001-01-01T00:00:00 -> 0001 0900-01-01T00:00:00 -> 0900 1900-01-01T00:00:00 -> 1900 2009-06-15T13:45:30 -> 2009 |
| โyyyyyโ | The year as a five-digit number. More information: The โyyyyyโ Custom Format Specifier. | 0001-01-01T00:00:00 -> 00001 2009-06-15T13:45:30 -> 02009 |
| โzโ | Hours offset from UTC, with no leading zeros. More information: The โzโ Custom Format Specifier. | 2009-06-15T13:45:30-07:00 -> -7 |
| โzzโ | Hours offset from UTC, with a leading zero for a single-digit value. More information: The โzzโ Custom Format Specifier. | 2009-06-15T13:45:30-07:00 -> -07 |
| โzzzโ | Hours and minutes offset from UTC. More information: The โzzzโ Custom Format Specifier. | 2009-06-15T13:45:30-07:00 -> -07:00 |
| โ:โ | The time separator. More information: The โ:โ Custom Format Specifier. | 2009-06-15T13:45:30 -> : (en-US) 2009-06-15T13:45:30 -> . (it-IT) 2009-06-15T13:45:30 -> : (ja-JP) |
| โ/โ | The date separator. More Information: The โ/โ Custom Format Specifier. | 2009-06-15T13:45:30 -> / (en-US) 2009-06-15T13:45:30 -> โ (ar-DZ) 2009-06-15T13:45:30 -> . (tr-TR) |
| โstringโ โstringโ | Literal string delimiter. More information: Character literals. | 2009-06-15T13:45:30 (โarr:โ h:m t) -> arr: 1:45 P 2009-06-15T13:45:30 (โarr:โ h:m t) -> arr: 1:45 P |
| % | Defines the following character as a custom format specifier. More information:Using Single Custom Format Specifiers. | 2009-06-15T13:45:30 (%h) -> 1 |
| \ | The escape character. More information: Character literals and Using the Escape Character. | 2009-06-15T13:45:30 (h \h) -> 1 h |
| Any other character | The character is copied to the result string unchanged. More information: Character literals. | 2009-06-15T01:45:30 (arr hh:mm t) -> arr 01:45 A |
Conclusion
In conclusion, we have learned how to format date in Power Automate in Email body or Microsoft Teams Message in different formats as we need.
See Also
- How to use Power Automate?
- How to use Date function in DAX Power BI?
- Power Platform and DevOps-Deploy solutions between environments
Join us
- Subscribe to Power Platform Geeks.
- Register to Saudi Arabia Power Platform User Group.
Need Help
- Have a related question? Please ask it at deBUG.to Community.