Hi,
you may experience some odd behaviour in some plugins if using that timezone plugin. Changing tz with date_default_timezone_set is not recomended. I have hit this before! See https://www.ads-software.com/support/topic/plugin-is-conflicting-with-event-espresso?replies=12#post-5703112
More info:
https://vip.wordpress.com/documentation/use-current_time-not-date_default_timezone_set/
https://www.ads-software.com/support/topic/use-of-date_default_-timezone_set-not-recommended?replies=1#post-7327256
Also That plugin says that it is using javascript and setting a cookie so first time client comes there they will not see their tz (js fires after page loaded) and then on the next page the tz will appear to change – could be confusing no? (apart from the problem no 1 above)
Also note that Time zone information of the browser is not part of the HTTP spec, so you can’t just get it from a header with any great reliability ….. more detail in second answer here https://stackoverflow.com/questions/16525617/how-to-detect-users-timezone/16526897#16526897
See suggestion that maybe use to ask user to choose a timezone.
See cautions abot js detection of timezones https://bitbucket.org/pellepim/jstimezonedetect
Now wrt the plugin, there is lots of timezone functionality albeit not exaclty what you are looking for:
specify a default timezone to override wp tz if necessary in the shortcode:
tz=timezonestring
or offer some choices (basically create links (using own text or images) passing the timezone parameter like here:
https://test.icalevents.com/large-box-calendar/holidays/
you could possibly even have a shortlist of timezones based on your audience and offer a dropdown selection from placed about the event list. User can then choose the timezone they want.
If using a GET action, this can be done totally separatedly from the plugin – plugin will respond to a tz parameter passed in the url.
Again while one could use js to update the set of options, as always the best you could do is ‘guess’ based on ip address, or some folks guess based on language. I recommend that you still offer the user a change to specify their tz themselves.
Info: https://www.ozzu.com/programming-forum/auto-detecting-user-timezone-t97456.html
I hope that all makes sense.