Executive Summary (TLDR): Reduce complexity by using this method to convert multiple timestamps between time zones while accounting for daylight savings
I frequently find myself needing to convert datetimes from Coordinated Universal Time (UTC) to a specific time zone in the United States, most often Eastern Time. At first glance this seems like a simple task, but it gets more complicated when you consider that Eastern Standard Time (EST) is 5 hours behind UTC while Eastern Daylight Time (EDT) is 4 hours behind UTC. This means that to figure out what time a UTC datetime is on the East Coast, one would have to take into consideration the time of year that datetime belongs to.
Luckily, there is a Power Automate action that takes care of this for us. The “Convert time zone” action allows us to select “Eastern Time” as a whole and will figure out if the datetime should be converted to EST or EDT. This is helpful but if a flow requires that multiple datetimes are converted, you may not want to put down a “Convert time zone” action for each. You can avoid this if all the times you are converting are within the same daylight savings period.
USE CASE
Let’s say you have 4 datetimes that need to be converted from UTC to Eastern Time. These could be an output of a SharePoint action, representing timestamps for comments added to an IT ticket. Let’s call these datetimes AUTC, BUTC, CUTC, and DUTC. Since these comments are grouped relatively close together in time, these datetimes are all either in the daylight savings time of year (mid-March to early November) or they are in the standard time of year (early November to mid-March). This allows you to convert a single datetime using the “Convert time zone” action, calculate the offset, and apply this offset to remaining dates.
-
Use “Convert time zone” to convert datetime AUTC to AEastern.
-
Use a “Compose” action with this formula to calculate the offset between AUTC and AEastern:
int(split(dateDifference(utcNow(), body('Convert_time_zone')), ':')[0]) -
This compose action will output our offset which will be either -5 or -4 depending on what time of year A is in.
-
Now we can use the
addHours()function to add the offset to the remaining datetimes to calculate BEastern, CEastern, and DEastern.
While the out-of-the-box “Convert time zone” action is still doing the heavy lifting here, this is a crafty way to avoid having to use the action more than once within a flow. This is especially helpful when using “Select” or other array operations to modify these dates. Let’s say that our SharePoint action has returned an array of comments such as this:
[{
"text": "I need help with my computer",
"UTC_timestamp": "2026-02-03T14:30:00Z",
"author": "Oscar Isaac"
},
{
"text": "Have you tried restarting it?",
" UTC_timestamp": "2026-02-03T14:45:00Z",
"author": "Kate Winslet"
},
{
"text": "That seemed to have worked! Thanks!",
" UTC_timestamp": "2026-02-03T14:50:00Z",
"author": "Oscar Isaac"
},
{
"text": "Of course! Happy to be of service.",
" UTC_timestamp": "2026-02-03T15:45:00Z",
"author": "Kate Winslet"
}]
If you wanted to place these comments in a HTML table included in an email notification, you could do so by using the “Select” action, but you’d have to convert each timestamp to Eastern Time. Using a pre-calculated offset you could simply put the addHours() function within the input formula of the “Select" action.
The alternative would be to loop through the original array of comments, convert each timestamp individually, and then append the converted datetime to a variable, which would add unnecessary steps and complexity. Check out our blog about using variables in Power Automate to learn more about this topic.
Have a Power Automate flow dependent on timeline that doesn't automatically convert to DST & ST? We are here to help!
Reach out for a free consultation with one of our Power Platform experts!
Share