Time zone settings in Outlook can affect how calendar events, meetings, working hours, and appointment times are displayed. This is especially important when users work across multiple time zones, travel frequently, or schedule meetings with people in different regions.
In our guide, we will show you how to change time zone settings in Outlook, manage mailbox time zones with Exchange Online PowerShell and Microsoft Graph, and schedule meetings across different time zones.
Who is this guide for?
- Just need to fix the time zone in your own Outlook? Go to Part 1: Change the Time Zone in Outlook (for users). It takes about a minute.
- Managing time zones for a mailbox, a team, or the whole tenant? Go to Part 2: Managing Time Zones in Microsoft 365 (for admins).
How to Change the Time Zone in Outlook?
If you travel a lot, you probably often need to adjust time zones and ensure all your meetings are up to date with your current time zone. Although our smartphones nowadays can automatically detect and change the time zone, you may find it necessary to adjust the Outlook time zone manually. It is not difficult and takes only a few clicks to do.
- Launch Outlook and go to settings in the menu File > Options. No need to switch to the Calendar view.

- Go to the Calendar section.
- Scroll down a bit and find the Time Zones section. Select the time zone you need from the Time zone drop-down list. For your convenience, create a label for it. For example, My local time.

- Click OK.
You can tell Windows to do everything for you if you want to avoid manual time zone adjusting. All you need to do is to enable automatic time zone detection in the Windows Settings.
Outlook Time Zone Settings
Outlook does not use a single time zone setting for every case. Different settings control the mailbox regional time zone, calendar display, working hours, or the Windows client.
The main settings for Microsoft 365 environments are:
- Mailbox regional time zone โ configured through Exchange Online PowerShell or Outlook on the web under Settings โ General โ Language and time.
- Calendar display time zone โ controls the time zone in which the calendar is displayed in New Outlook and Outlook on the web under Calendar โ View โ Time zones.
- Working hours time zone โ controls the time zone associated with the user’s configured working hours and can be managed with Set-MailboxCalendarConfiguration.
- Classic Outlook time zone โ configured under File โ Options โ Calendar โ Time zones.
- Windows system time zone โ affects the operating system and can also affect Classic Outlook behavior.
Note that these settings are related but are not interchangeable. In case you are facing a time-zone problem, first you need to identify which setting is incorrect (instead of assuming that changing the Windows time zone/mailbox time zone will change every Outlook time-zone setting).
Keep in mind that depending on config, higher layers (Exchange/OWA) can override local OS settings.
How to Enable Automatic Time Zone Detection in Windows 11
- Right-click the Start menu and select Settings. You can also press Win + I.
- Click Time & Language.
- Select Date & time.
- Toggle on the Set time automatically option.

- Enable the Set time zone automatically option.
Important. Note that automatic time zone detection in Windows is not guaranteed to work in all environments: it can be affected by Windows Location Services and organizational policies.
Checking Mailbox Time Zone Settings
For Exchange Online, you can use the ExchangeOnlineManagement PowerShell module. In case the module is not installed, install it with the command:
Install-Module ExchangeOnlineManagement -Scope CurrentUser
Then connect to Exchange Online using the following:
Import-Module ExchangeOnlineManagement
Connect-ExchangeOnline -UserPrincipalName admin@contoso.com
Permissions. Note that Get-MailboxRegionalConfiguration and Set-MailboxRegionalConfiguration require the appropriate Exchange Online RBAC permissions. The User Options management role is relevant to mailbox regional and other user mailbox settings, but the effective permission depends on the role assignment and management scope in your organization. Do not grant Organization Management just to run these cmdlets.
In case of delegated administration, you should use the narrowest built-in/custom Exchange RBAC role assignment that provides the required cmdlet access and limits the recipient scope where possible. Microsoft provides the Find the permissions required to run any Exchange cmdlet guidance for verifying the required permissions in your environment.
In Microsoft 365 and Exchange Online environments, you can check mailbox regional settings with the following command:
Get-MailboxRegionalConfiguration -Identity cyril@theitbros.com
Shared mailboxes and resource mailboxes can have their own regional config settings. If meeting times appear inconsistent only for a specific shared mailbox, you need to check its mailbox regional config separately.
Note. The TimeZone property can be empty if a mailbox does not have an explicitly configured time zone. An empty value does not necessarily mean that the mailbox has no effective time zone; the client may use its configured time zone/another applicable setting.
You can use the following command to change mailbox-level time zone settings in Exchange Online and on-premises Exchange environments:
Set-MailboxRegionalConfiguration -Identity cyril@theitbros.com `
-TimeZone "Eastern Standard Time"
Exchange Server version note. The Set-MailboxRegionalConfiguration cmdlet is available in both Exchange Online and supported on-premises Exchange environments.
Don’t forget that Exchange Server 2016 and Exchange Server 2019 reached end of support on October 14, 2025. Microsoft no longer provides regular technical support, bug fixes, security fixes, or time zone updates for these versions. In case your organization is still running Exchange Server 2016 or Exchange Server 2019, you should treat the environment as unsupported and prioritize migration/upgrade rather than simply planning for it. The supported on-premises target is Exchange Server Subscription Edition (SE), while Microsoft 365 is the cloud alternative.
In case you also need to align the calendar’s working hours with the same time zone, you can config WorkingHoursTimeZone separately:
Set-MailboxCalendarConfiguration user@contoso.com `
-WorkingHoursTimeZone "Eastern Standard Time"
Change the mailbox time zone in OWA
In Outlook on the web, open Settings โ General โ Language and time.ย The Time zone setting in this section changes the time zone associated with the mailbox and its regional settings. This is the OWA equivalent of configuring the mailbox time zone with Set-MailboxRegionalConfiguration. You should use this setting when you need to change the mailbox’s primary time zone, rather than only changing how the calendar is displayed.
Managing Mailbox Time Zone with Microsoft Graph
For Microsoft 365 and Exchange Online, you can also read and update mailbox settings through the Microsoft Graph mailboxSettings API. This is useful for app-based automation and integrations where Microsoft Graph is preferred over Exchange Online PowerShell.
To read a user’s mailbox time zone, use the following:
GET https://graph.microsoft.com/v1.0/users/user@contoso.com/mailboxSettings/timeZone
The mailboxSettings resource also exposes working hours and other mailbox preferences. Microsoft Graph supports both Windows time zone IDs and IANA time zone names for the timeZone property.
In order to update the user’s time zone, send a PATCH request:
PATCH https://graph.microsoft.com/v1.0/users/user@contoso.com/mailboxSettings
Content-Type: application/json
{
"timeZone": "Eastern Standard Time"
}
Keep in mind that the Microsoft Graph API requires the MailboxSettings.ReadWrite permission to update mailbox settings. For app-based automation, you should grant only the required permission and use appropriate Microsoft Entra app authentication.
The same API can update working hours through the workingHours property. This provides a Graph-based alternative to Set-MailboxCalendarConfiguration for Microsoft 365 mailbox automation.
For Exchange Server on-premises, you can use the Exchange PowerShell cmdlets described in our article; Microsoft Graph mailbox settings are a Microsoft 365/Exchange Online management interface.
Bulk Update Mailbox Time Zones
In case you need to change the time zone for multiple mailboxes, you can import the mailbox list from a CSV file and process it with PowerShell. The CSV file should contain the UserPrincipalName and TimeZone columns:
UserPrincipalName,TimeZone
user1@contoso.com,Eastern Standard Time
user2@contoso.com,Pacific Standard Time
user3@contoso.com,Central European Standard Time
Find mailboxes that need a time zone change
You do not always need to prepare the input CSV manually. You can first retrieve the mailboxes in scope and then check their mailbox regional settings.ย For example, to review the regional time zone configured for all user mailboxes, use the following:
Get-Mailbox -ResultSize Unlimited -RecipientTypeDetails UserMailbox |
ForEach-Object {
$Mailbox = $_
$RegionalConfig = Get-MailboxRegionalConfiguration -Identity $Mailbox.UserPrincipalName
[PSCustomObject]@{
UserPrincipalName = $Mailbox.UserPrincipalName
TimeZone = $RegionalConfig.TimeZone
}
}
In order to find mailboxes that do not have an explicitly configured time zone:
Get-Mailbox -ResultSize Unlimited -RecipientTypeDetails UserMailbox |
ForEach-Object {
$Mailbox = $_
$RegionalConfig = Get-MailboxRegionalConfiguration -Identity $Mailbox.UserPrincipalName
if ([string]::IsNullOrWhiteSpace($RegionalConfig.TimeZone)) {
[PSCustomObject]@{
UserPrincipalName = $Mailbox.UserPrincipalName
TimeZone = $RegionalConfig.TimeZone
}
}
}
This method is intentionally performed in two steps: Get-Mailbox defines the mailbox scope, while Get-MailboxRegionalConfiguration retrieves the regional settings for each mailbox. The TimeZone property is not a property that should be filtered directly from the Get-Mailbox output.
In case you are working with a large tenant, you need to avoid changing the returned mailboxes immediately. First export the discovered scope to CSV, then review it, and use that reviewed CSV as the input for the bulk change.
Before making bulk mailbox time zone changes, you need to export the current settings so you have a rollback reference:
$BackupPath = ".\mailbox-timezone-backup.csv"
Import-Csv .\mailboxes.csv |
ForEach-Object {
$UserPrincipalName = $_.UserPrincipalName
Get-MailboxRegionalConfiguration -Identity $UserPrincipalName |
Select-Object @{Name='UserPrincipalName';Expression={$UserPrincipalName}},
TimeZone,
Language,
DateFormat,
TimeFormat
} |
Export-Csv $BackupPath -NoTypeInformation -Encoding UTF8
The backup contains the current mailbox regional config for every mailbox in the input CSV. Keep this file until you have verified the changes.
If a rollback is required, you should review the backup first and then use the saved TimeZone values with Set-MailboxRegionalConfiguration.
Before applying the changes, run the command with -WhatIf in order to verify which mailboxes would be modified:
Import-Csv .\mailboxes.csv | ForEach-Object {
Set-MailboxRegionalConfiguration `
-Identity $_.UserPrincipalName `
-TimeZone $_.TimeZone `
-WhatIf
} For bulk changes, you should use error handling and logging so that failed mailboxes can be identified without stopping the entire operation:
$CsvPath = ".\mailboxes.csv"
$LogPath = ".\mailbox-timezone-update.log"
$ErrorPath = ".\mailbox-timezone-errors.csv"
$Errors = [System.Collections.Generic.List[object]]::new()
Start-Transcript -Path $LogPath -Append
try {
Import-Csv $CsvPath | ForEach-Object {
$UserPrincipalName = $_.UserPrincipalName
$TimeZone = $_.TimeZone
try {
Set-MailboxRegionalConfiguration `
-Identity $UserPrincipalName `
-TimeZone $TimeZone `
-ErrorAction Stop
Write-Host "Updated: $UserPrincipalName -> $TimeZone"
}
catch {
$ErrorRecord = $_
$Errors.Add([PSCustomObject]@{
UserPrincipalName = $UserPrincipalName
TimeZone = $TimeZone
Error = $ErrorRecord.Exception.Message
})
Write-Warning "Failed: $UserPrincipalName -> $($ErrorRecord.Exception.Message)"
}
}
}
finally {
Stop-Transcript
}
if ($Errors.Count -gt 0) {
$Errors | Export-Csv $ErrorPath -NoTypeInformation -Encoding UTF8
Write-Warning "$($Errors.Count) mailbox update(s) failed. See $ErrorPath"
}
else {
Write-Host "All mailbox updates completed successfully."
}
Our script above processes each mailbox independently, so a failure does not stop the remaining updates. Errors are collected in memory and exported to a separate CSV file after processing completes. The transcript records the PowerShell session, while the error CSV provides a structured list of failed mailboxes and the corresponding error messages.
The TimeZone value in the CSV must be a time zone identifier supported by Exchange. You should not assume that the output of Get-TimeZone -ListAvailable on the local Windows machine is the authoritative list for Exchange.
For the identifiers accepted by Exchange, you should use Microsoftโs documented list of Windows time zone IDs and verify the identifier against the target Exchange environment before running a bulk update.
Here is an example:
Get-TimeZone -ListAvailable |
Select-Object Id, DisplayName
The command above can be useful for looking up Windows time zone IDs on the current machine, but you should not treat it as the authoritative Exchange time zone list.
When you have finished working with Exchange Online PowerShell, disconnect the Exchange Online connection with:
Disconnect-ExchangeOnline -Confirm:$false
For scripts that perform multiple Exchange Online operations, you need to place the disconnect command at the end of the script so the remote session is closed after all mailbox changes have completed.
Checking Calendar Working Hours Time Zone
The mailbox time zone and the calendar’s working-hours time zone are separate settings. In case a user’s working hours appear in a different time zone, you need to check the calendar config as well:
Get-MailboxCalendarConfiguration user@contoso.com |
Select-Object WorkingHoursTimeZone, WorkingHoursStartTime, WorkingHoursEndTime
In order to change the time zone used for the mailbox’s working hours, use the command below:
Set-MailboxCalendarConfiguration user@contoso.com `
-WorkingHoursTimeZone "Eastern Standard Time"
This changes the time zone associated with the mailbox’s working hours. Keep in mind that it is not a replacement for Set-MailboxRegionalConfiguration -TimeZone, which configures the mailbox regional time zone.
Outlook Version Differences
Classic Outlook for Windows and New Outlook for Windows use different settings interfaces and have different feature sets. Microsoft is gradually transitioning organizations from Classic Outlook to New Outlook, so enterprise admins should not treat both clients as equivalent long-term deployment targets.
For time zone settings, the main paths are:
- Classic Outlook: File > Options > Calendar > Time zones. Note that changing the primary time zone these settings can also change the Windows system time zone on the machine. This means the change is not necessarily limited to Outlook.
- New Outlook for Windows: Settings > Calendar > View > Time zones
- Outlook on the web: Settings > Calendar > View > Time zones. These settings control the time zone display in the calendar interface. They are separate from the mailbox time zone configured under Settings โ General โ Language and time. For example, you can config additional time zones in the calendar when working with users in different regions without changing the mailbox’s primary time zone. Note that changing one setting does not mean that the other setting is changed automatically.
Classic Outlook remains supported for now, but Microsoft is moving the Outlook for Windows experience through a phased migration to New Outlook. The migration roadmap includes opt-in, opt-out, and eventual cutover stages. Microsoft currently states that Classic Outlook will remain supported until at least 2029, while the final cutover date is subject to Microsoft’s migration schedule.
So, you need to plan new Outlook deployments and future user migrations around New Outlook, while retaining Classic Outlook where required for unsupported or not-yet-migrated workflows. Before migrating users, you should verify feature compatibility and test critical Outlook workflows in a pilot group.
Microsoft’s migration guidance recommends assessing feature requirements, running a pilot, and using a phased deployment rather than treating the client switch as a simple UI upgrade.
Also pay attention that time zone behavior may vary between Classic Outlook and the New Outlook for Windows.
Classic Outlook relies more heavily on Windows regional and time zone settings, while New Outlook uses Microsoft 365 cloud-based settings and sync mechanisms more extensively.
If you notice different time zone behavior between Outlook clients, you need to check both local Outlook settings and Exchange mailbox regional config.
Does Outlook Adjust Time Zones?
Yes. Outlook automatically converts calendar times so that the same meeting can be displayed in the appropriate local time zone for each attendee.
Meeting start and end times are handled using a normalized time representation, while time-zone info is used to display the event correctly in the user’s current time zone.
As example, in case a meeting is scheduled for 10:00 in London, an attendee in New York will see the corresponding local time for that meeting. The meeting represents the same scheduled instant; only the displayed local time differs.
This is why changing a user’s time zone does not normally mean that the meeting has been rescheduled. Outlook recalculates the displayed local time based on the user’s current time-zone settings.
When a user travels to another time zone, Outlook can therefore display existing meetings at different local clock times without changing the intended instant of the meeting.
In case of issues, distinguish between the meeting’s time-zone infor and the user’s calendar display/mailbox time-zone settings. If only one user’s calendar appears incorrect, you need to check if user’s Outlook and mailbox settings before changing the meeting itself.
Schedule a Meeting in Outlook for a Specific Time Zone
Suppose you have a meeting with people who live in different time zone. In order to avoid confusion and ensure everyone arrives on time, you must specify the time zone in the Outlook calendar. Here is how to set up a meeting in Outlook with a specific time zone.
- Launch the Outlook app and switch to Calendar view using the small Calendar icon in the side pane.

- Right-click the day when you want to request a meeting and click the New Meeting Request or New Appointment, depending on what event you want to add to your Outlook Calendar. The action will open a new window with all the meeting details.

- Next, on the meeting window’s ribbon, select the Time Zones button to display the time zone selector for the start and end times.

- Select the time zone that applies to the meeting from the list.

- Fill in the rest of the details and send the request to all the participants.
That is how you create a meeting in Outlook in different time zone.
Note. When Windows time zone changes after a meeting was scheduled, Outlook may display a banner stating “This meeting has been adjusted to reflect your current time zone”. This indicates that Outlook has automatically recalculated the local display time (and the original meeting time saved on the server has not changed).
Changing the Time Zone in New Outlook for Windows
In order to change the Time Zone in New Outlook, follow the steps below:
- Open Settings.
- Select Calendar > View.

- Under Time zones, open Display my calendar in time zone and select the required time zone.
- Optionally enter a label for the time zone.
- Click Save.
Does Outlook automatically adjust for different time zones?
Yes. Outlook stores calendar events using UTC and automatically converts meeting times based on configured time zone settings. The displayed time can be influenced by:
- Outlook client settings
- Exchange mailbox regional settings
- Outlook on the Web (OWA) settings
- Windows time zone settings
Why does Outlook show the wrong meeting time?
Incorrect meeting times are often caused by mismatched settings between:
- Windows time zone
- Outlook desktop settings
- Exchange Online mailbox regional config
- Outlook on the Web settings
In Microsoft 365 environments, mailbox-level settings can override local Windows settings.
Where can I check the time zone in Outlook on the Web?
In Outlook on the Web (OWA), navigate to Settings โ General โ Language and time.ย Verify that the configured time zone matches your mailbox and regional settings.
How do I schedule a meeting in a specific time zone?
When creating a new meeting or appointment:
- Open the Calendar view.
- Create a new meeting request.
- Enable the Time Zones option.
- Select the desired time zone.
- Complete and send the invitation.
Outlook will automatically convert the meeting time for attendees in other time zones.
Does changing the Windows time zone automatically update Outlook?
Not always.ย In Classic Outlook, Outlook often follows the Windows time zone. However, in Microsoft 365 and Exchange Online environments, mailbox and cloud settings may override Windows settings.ย As a result, changing Windows time zone settings does not guarantee Outlook will use the same time zone.


