Time is no one's friend. Timezones.... even less so.
Power Apps automatically calculates the time based on UTC. This means, DST (Daylight Savings Time) & localization are already handled for you.
Any time/date function in Power Apps will automatically account for your local timezone. In my case that timezone is UTC-06:00 (USA Central).
The timezone is set in your PC or in your web browser. Not in the Power Apps application.

In my timezone (UTC-06:00) we use Daylight Savings Time. Notice how the UTC Offset (amount in minutes that must be subtracted or added to Universal Coordinated Time) changes when DST is active in June.
This is super helpful.... unless you're trying to make a "Timezone Calculator".
Every major programming language has some way to interact with the UTC and Timezone data.
The static data in the: Timezone Calculator Screen example was generated using python.
The dynamic data in the: Automated Timezone Calculator Screen example was generated using Typescript run in an Excel spreadsheet.
The headache of timezones, and the simple solution to managing them in Power Apps.
These timezones change all the time. Politics mostly, It's annoying.
Global standard time is managed by one international organization:
International Bureau of Weights and Measures
(note that there are further levels of bureaucracy such as NIST, IERS, USNO, etc... But the "global standard" (UTC) is managed by this organization. )
Whereas "Timezones" are managed by another international organization:
Internet Assigned Numbers Authority
IANA manages a timezone database that most systems use. Including most programing libraries. (python, javascript, etc...)
In Power Apps there is the option to use Power Automate's Convert a time zone
But, like all things "Power Automate", it's clunky and slower than a native solution.
I prefer to just use a local collection with the appropriate timezone offsets. (note that if you use a local collection, you will need to keep it updated manually).
Or to use an external database as a reference. (see the end of the article for a free one that is available to any M365 for Business user).
How Power Apps handles date time strings.
Power Apps uses .net libraries (C#) to parse Date & Time strings.
These strings can be any number of standard date time formats:
And even combinations of date and time formats that are not standard (such as the format I used in my examples mm/dd/yyyy hh:mm PM/AM UTCOffset).
It's really robust and mimics Excel's date time formatting feature (except it doesn't change the info when you don't want it to).
Different libraries handle date & time calculations differently. But they all use the same international data sets to make the calculations.
Building a Power Apps collection with Python.
I used Python to make a static collection of timezone data. It is a wiser idea to use an automated external source. Which I did with Typescript (This is the language used in Excel) and an Excel Table.
Python is my go-to language for everything. It's widely adopted and has a ton of features. But Python isn't something simple to integrate into Power Apps. (not in the way I need it to be for this solution).
What is available & easy to integrate in Power Apps is Excel Tables. Which can be built using OfficeScript (TypeScript library in MS Office)
Instructions:
- Paste this YAML into a Power App.
- Create a spreadsheets stored in SharePoint or OneDrive.
- Add the script to your sheet using the Automate Tab: OfficeScript
- The script is down below.
- Run the script once (the table will auto generate).
- Create a Power Automate scheduled flow.
- Add the Excel Table as a data source in your Power App.
- Update the two
Comboboxes as per the comments in theItems property.