Add a stanza in user-prefs for [role_<role_name>]
in user-prefs.conf in system/local or in your app and then use the line tz = <timezone>
. You probably want to test doing it to one user with the Splunk GUI to make sure you are using the correct string for your timezone value or use a library of canonical timezones.
Users Timzone is controlled by the user-prefs.conf file so I do not see a way that you can set timezone based on a users role.
http://docs.splunk.com/Documentation/Splunk/6.3.1/Admin/User-prefsconf
tz =
* Specifies the per-user timezone to use
* If unset, the timezone of the Splunk Server or Search Head is used.
* Only canonical timezone names such as America/Los_Angeles should be
used (for best results use the Splunk UI).
* Defaults to unset.