By default, when a user first logs on to Outlook Web App, they are prompted to choose their language and time zone. Sometimes, it's required to change these settings for a certain user, or even, for all users. This can be done by an administrative user through Exchange Management Shell (EMS), and works for both Exchange 2010/2013 and Office365, with the cmdlet Set-MailboxRegionalConfiguration.
First, open EMS for your on-premise Exchange, or for Office365, connect to Exchange Online using Powershell.
You can then set/change the language and time zone for a user like so:
identity speaks for itself: it can be an alias or name or UPN.
The language ID lang-id is a numeric value, corresponding to the correct language. Use the table below to find the ID corresponding to a language.
The timezone name timezone-name is the exact name of a certain time zone. Again, use the table below to find it. Note that you have to put the name in quotes to be used in your PS cmdlet.
Change the language and time zone of user John Doe to "English UK" and London time:
Set-MailboxRegionalConfiguration -Identity "John Doe" -Language 2057 -Timezone "GMT Standard Time"
Change the language and time zone for all users to "English US" and EST time:
Get-Mailbox | Set-MailboxRegionalConfiguration -Language 1033 -Timezone "Eastern Standard Time"
Attached to this post is a spreadsheet, containing reference tables for languages and timezones.