Q: Programmatically change timezone from an user SharePoint 2013 I am trying to update the timezone value from users in SharePoint 2013. Unfortunately I cant see the changes in the mysite page. What am I doing wrong?
private void updateUserTimeZone(){
foreach(SPWebApplication wa in SPWebService.ContentService.WebApplications)
{
foreach (SPSite site in wa.Sites)
                    {
                        foreach (SPWeb web in site.AllWebs)
                        {
                            foreach (SPUser user in web.AllUsers)
                            {
                                if (user.Name.Equals("Username"))
                                {   
                                    SPListItem item = web.SiteUserInfoList.Items.GetItemById(user.ID);

                                ushort zone = 0;
                                ushort.TryParse(getTimeZoneTextField.Text, out zone);

                                try {
                                    web.AllowUnsafeUpdates = true;
                                    item["TimeZone"] = zone;                                       
                                    item.Update();
                                    web.Update();
                                    web.AllowUnsafeUpdates = false;
                                }
                                catch(Exception e)
                                { e.GetBaseException(); }
}
}}}}}

I hope the code is readable. 
I get an output like this when checking after the updated value from item["TimeZone"]: username timezone 12 for example. But I cant see this value in the user profile Regional Settings Time Zone. 
Thanks in advance.
