Overview
Timezone Detect is a lightweight module that leverages the jsTimezoneDetect library for automatic detection and setting of a user's timezone via javascript. It can set a user's timezone automatically upon first login, and update it on every login if desired.
Benefits
The setting of user timezones is often fraught with confusion and frustration.
To start with, some users will never update their timezone settings manually, even when prompted to do so at every login; I know this from experience running a large website where timezone settings are an important factor. These same users will sometimes complain about confusions caused by incorrect timezone settings, though they have not bothered to update their accounts.
The users who do follow through on updating their timezone settings are often confused about which timezone they inhabit, and which timezone they should select--even when provided with a map to click on. The IANA timezone codes (e.g. "America/Chicago") are not immediately obvious to everyone, and some users are confused when they do not see their particular city listed as an option.
This module mitigates these kinds of issues by setting a sane "best guess" default timezone for every user at first login, so that you can: