timezone_sync
This module automatically synchronizes the timezone for all users when the default system timezone is changed and the option to allow users to customize their own timezone is turned off.
Features
When this module is enabled and the admin changes the default timezone and the option "Users may set their own time zone" users customize their time zone selection it updates all of the existing users timezones to match the new default timezone.
This module is likely only useful in limited circumstances where a site wants to make a change to the timezone and override any previous timezone choices that were made. This could also be useful for a distribution or automated installation that also creates a number of users and then the default timezone is changed later on in the setup by the user.
If you only need to do this once then it might make sense to just manually run the following command instead via drush rather than install this module.
# Check what system timezone is set to first
drush config:get system.date default_timezone
# Run a database update query via drush
drush php:eval "
\Drupal::database()->update('users_field_data')
->fields(['timezone' => \Drupal::config('system.date')->get('timezone.default')])
->execute();
echo 'Done';
"
Post-Installation
To see it in action go to /admin/config/regional/settings and change the default timezone. If "Users may set their own time zone" is disabled then all of the users will have their time zone set to the newly saved default timezone.
Additional Requirements
This shouldn't require anything other than Drupal Core.