You are currently viewing How to Format Date in Power Automate?

How to Format Date in Power Automate?

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!

format date in Power Automate
format date in Power Automate

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

format date in power automate email

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.

format date only in power automate

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.

format date in Power Automate
format date in Power Automate

To Format Date in Power Automate, you have to do the following:

  1. Ensure that your field holds a value in a correct date fromat.
  2. Create a new variable with a string format outside your loop
  3. Set the created variable to the date value.
  4. 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.

format date in power automate email

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.

Initalize variable outside loop in Power Automate

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:

  1. Between the trigger and the loop, click on the Plus icon to insert a new step as action.
create a variable in Power Automate
  1. Search for Variables, and from the variable search result, select โ€œInitialize Variableโ€œ.
Initalize variable in Power Automate
  1. Set the Variable name as you prefer, then set the variable data type to โ€œStringโ€.
create variable in Power Automate

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:

  1. In your loop, add a new action.
add an action in Power Automate
  1. Search for variables, and then select โ€œSet Variableโ€ action.
set a variable in Power Automate
  1. Finally, in โ€œSet Variableโ€ action, select the variable name and the date field name.
set variable in Power Automate

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:

  1. 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.
FormatDateTime() function
  1. In messae body, add new expression with the below function based on your variable name and the required date format.
use format date time in Power Automate
formatDateTime(variables('VariableName'),'MM-dd-yyyy')
  1. Click Ok to add the FormatDateTime function in your message body.
format date time power automate
  1. 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 Date only in Power Automate
Format Date in Power Automate

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()
format current date in Power Automate

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

format today date in power automate

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')
how to format date in power automate

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

power automate format current date MM-dd-yyyy
power automate format current date MM-dd-yyyy

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 specifierDescriptionExamples
โ€œ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 characterUnknown specifier.Throws a run-time FormatException.
Ref: Standard date and time format strings

The following table also describes the custom date and time format specifiers and displays a result string produced by each format specifier.

Format specifierDescriptionExamples
โ€œ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 characterThe 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
Ref: Custom date and time format strings

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
Join us
Need Help
  • Have a related question? Please ask it at deBUG.to Community.


Mohamed El-Qassas

Mohamed El-Qassas is a Microsoft Most Valuable Professional (MVP), Microsoft Certified Trainer (MCT), SharePoint Stack Exchange (StackOverflow) Moderator, Microsoft QnA Moderator, C# Corner MVP, Microsoft TechNet Wiki Judge, Blogger, Speaker, and Solutions Architect with +16 years of experience in SharePoint, Project Server, Microsoft Teams, Microsoft 365, and Power Platform.