If you have ever had to deal with time zones, you know how hard it is to convert them. It’s a complex problem, so we should never approach it ourselves and try to do it manually. Many smart people are tackling this, and you would save yourself many problems if you used the system tools to do it. So today, let’s take a look at the “Convert time zone” action and how it can help us.
Where to find it?
You can find it in “Standard”, but the easiest way to find it is to search for it.

Otherwise, you can pick “Date Time”.

Pick the “Convert Time Zone” action.

Here’s what it looks like.

Now that we know how to find it, let’s understand how to use it.
Usage
The “Convert Time Zone” action requires three parameters:
- Base time – The date and time you want to convert
- Source time zone – The time zone of the base time
- Destination time zone – The time zone you wish to convert to
Let’s explore each parameter in detail:
Base Time
This is the timestamp you want to convert. You can provide this in multiple ways:
- Dynamic content from previous actions
- An expression using the “utcNow” function, for example.
- A static date and time you select in a string, for example.
For example, if you’re using the current time, you can use the following expression:
utcNow()
Since we’re discussing time zones, knowing that the “utcNow” function will always return the dates in UTC is essential.
We can also use a string like this, for example:
2025-04-23
Notice that I’ve inserted the value in a specific format. To avoid issues, always use that since if Power Automate tries to “understand” the date, it could return strange results.

Here’s the result

For best practices on how to insert the data, please check the sections below.
Source Time Zone
This is the time zone of your base time. If you use the “utcNow” function, your source time zone would be “UTC“. Power Automate provides a dropdown list with all available time zones to choose from, so please consider whether the source of the date is in another time zone. A wrong value can significantly influence the result.
Some common source time zones include:
- UTC
- Eastern Standard Time
- Pacific Standard Time
- Central European Time
The dropdown includes the time zones we’re used to, so please be careful when picking the right one.
Destination Time Zone
This is the time zone you want to convert your base time to. Power Automate provides a dropdown with all available options like the source time zone.
Let’s see an example of converting the current UTC to Eastern Standard Time:
- Base time: “utcNow” function
- Source time zone: UTC
- Destination time zone: Eastern Standard Time
When we run this action, it will convert the current UTC time to Eastern Standard Time, automatically accounting for daylight saving time.

The output will be a formatted date and time string in the destination time zone. You can use this output in subsequent actions in your Flow, but please note that this is a formatted string and not a date object, so if you want to use the result with a function that accepts only dates, they will return an error.
Common mistakes
Here are some common mistakes that I see while using this.
utcNow and “source time zone”
It’s quite common to use the “utcNow” function to get the current date and display it in a format the user recognizes. For example, showing “Month, Day, Year” instead of the “Day Month Year” that is common in Europe. But when converting, please note that the “Source time zone” always needs to be UTC and not anything else. The “utcNow” function will always return data in UTC, so if you pick any other date, it will use an incorrect reference to convert the date.
Non-intuitive behaviors
Here are some behaviors that might not be immediately obvious when using the “Convert Time Zone” action:
Daylight Saving Time Automatic Handling
The “Convert Time Zone” action automatically accounts for daylight saving time (depending on the time zone itself). This means that if you’re converting to or from a time zone that observes DST, the action will correctly adjust the time based on the date. For example, converting from UTC to Eastern Time will give you a different offset in summer (EDT) versus winter (EST).
Working with Date-Only Values
If you’re working with a date that doesn’t include time information, the “Convert Time Zone” action will assume midnight for the time component. This might lead to unexpected results if you’re working across dates where the time zone difference crosses midnight.
Here’s an example:

Notice that the returned date was a day earlier (which is correct), so please be very careful. To get the best possible conversion, always provide the time so the system won’t use the default value.
DateTime Expressions vs. Strings
The “Convert Time Zone” action expects a DateTime value for the base time. If you provide a string, Power Automate will attempt to parse it as a DateTime. To avoid unexpected results, ensure your string is in a recognizable format or use the “formatDateTime” function to ensure proper conversion.
Alternatively, please provide the value in an ISO format where the date is always standard and in the same time zone.
Limitations
Here are some limitations to be aware of when using the “Convert Time Zone” action:
Limited Historic Time Zone Information
The action may not accurately convert historical dates with time zones that have changed their rules. It uses the current time zone definitions, which might not reflect historical changes in daylight saving time rules or time zone boundaries.
For example, Russia changed its time zone rules in 2014 when it permanently switched to winter time after previously observing daylight saving time. If you try to convert a date from 2010 in Moscow time to another time zone using the“Convert Time Zone” action, the conversion will apply the current rules (no DST) rather than the rules that were in effect in 2010 (with DST). This could result in a conversion of one hour for certain parts of the year.
See what I mean by “time zones” are hard?
No Custom Time Zone Creation
You cannot create custom time zones or modify existing ones. You’re limited to the predefined list of time zones provided by Power Automate. If you’re not finding the time zone you need in Power Automate, then it’s probably specific enough to require a more specialized service to convert it. If you have an example, please let me know, and I would be happy to include it here for everyone’s benefit.
Recommendations
Here are some things to keep in mind.
Don’t use the output to convert again the date.
Always convert directly to the time zone you want, and don’t do multiple conversions. The output will be a formatted string in the format you define, so please use it for UI purposes, like showing the user something more pleasant to look at than “2025-04-23T12:00:00Z,” for example.
Use UTC for Storing Times
Store your dates and times in UTC format in your data sources whenever possible. This provides a consistent baseline and makes it easier to convert to any local time zone as needed. You can use the “utcNow” function to get the current time in UTC and the “Convert Time Zone” action to convert the data before storing it. As mentioned before, the “Convert Time Zone” action will return a string, so I recommend always using the “o” or “Round-trip date/time pattern” because it contains all the information required to store the data correctly. For example:

And here’s the result.

Most systems will know how to deal with the string and convert it to a correct “date” object.
Be Careful with Date Boundaries
When converting time zones across significant time differences (like between Asia and America), be aware that the date might change. This is particularly important when working with date-specific triggers or conditions, where the date is essential. That’s why, if possible, the UTC version should be used for the internal flow orchestration, and the localized date should be shown to the user.
Test with Various Dates
Test your Flow with dates during both standard time and daylight saving time to ensure that your conversions work correctly throughout the year. The system should always return valid dates, but what’s important is to understand if the dates correspond to something that you expect, both in terms of format and time (see the example above working with “date only” values).
Name it correctly
The name is super important in this case because we have different time zones and conversions, and defining the intention of using the action is essential. For example, instead of “Convert Time Zone,” use something like “Convert UTC to EST for Meeting Schedule.” Always build the name so others can understand your use without opening the action and checking the details.
Always add a comment
Adding a comment will also help avoid mistakes. Indicate what the time zones represent (e.g., “User’s local time” or “Server time”) and why you’re converting between them. It’s essential to enable faster debugging when something goes wrong.
Always deal with errors
Have your Flow fail graciously and notify someone that something failed. It’s horrible to have failing Flows in Power Automate since they may go unlooked-for a while or generate even worse errors. I have a template that you can use to help you make your Flow resistant to issues. You can check all details here.
Back to the Power Automate Action Reference.
Photo by Vince Veras on Unsplash