Detect system time zone and prompt user to change their time zone preference if it is different

Proposal

In #335459 (closed) we starting displaying local time on user profiles. Currently it defaults to the server time zone (usually UTC) until the user explicitly changes the time zone in their user preferences.

Google Calendar uses IP address to detect the user's time zone and displays this popup:

Screen_Shot_2021-09-23_at_9.54.17_AM

Possible solutions

  1. Use IP address to detect user's time zone and display an alert or popup asking if the user wants to update their time zone.
    • Downside of this is that if a user is using a VPN the popup may be incorrectly shown. Also it will probably require some sort of GeoIP address library.
  2. Use JavaScript to detect the user's system time zone and display an alert or popup asking if the user wants to update their time zone.
    • Should be able to use new Date().getTimezoneOffset() to detect this. Need to do some more research on possible downsides of this solution.