This is not as easy a problem to solve as you may think.
Browsers do not transmit timezone information in the HTTP requests they submit to servers. They may submit a locale (language) from which a server might try to deduce where the user is located, but this isn’t specific enough for countries with multiple timezones like USA, Canada and Australia.
Typically this is resolved at authentication time by merging indicators from the user’s identity into the Pega Operator ID that can be updated during the authentication process. For enterprise users, these indicators may come from the enterprise’s Identity Provider; for customers, the application might capture this in a user profile or preferences.
Location information from a mobile (or desktop) device would be helpful but the user can have their location services turned off.
You would still need to implement a solution to translate a location into a timezone. There may be cloud services that do this, but that’s not Pega’s job.
Once the timezone is determined, it would be best to update the Operator ID record with this outcome, and this is best done during Authentication whilst you map in other identity information from the identity provider. The newly updated Operator timezone will then take effect for the remainder of the session.