How to Change Timezone in Sharepoint Online (Quick Tutorial)

How to Change Timezone in SharePoint Online (Quick Tutorial)

Last Updated on August 26, 2023

Do you need to configure or change the timezone in SharePoint Online?

Well, if you tried it on your own, it’s likely that you never found the option. That’s understandable since it’s well hidden.

In this article, I’ll show you how to change the timezone in SharePoint Online in regional settings, your Office profile, and many more.

Let’s get started.

How to change SharePoint regional settings

The timezone option is actually hidden inside the regional settings in your site settings. The first thing you need to do is go to the site settings page.

Follow these steps:

  • Click the gear icon on the upper-right corner of the page
  • Select the site information option from the list
Click on the gear icon and select site information

From there, click the view all site settings link near the bottom of the panel:

Click on the view all site settings link to proceed

On the next page, you will find the regional settings under the site administration category:

Finding the regional settings

On the next screen, the option for timezone is shown first:

  • Click the dropdown button
  • Select the timezone to use
Changing the timezone in regional settings

Before you exit the page, make sure to hit the OK button on the lower-right corner of the page. This will take effect immediately.

Sign up for exclusive updates, tips, and strategies

    How to change your Office profile’s time zone

    Can you change your own Office profile’s time zone? Well, it turns out that you can actually can — though it may take a few steps to get there.

    While on any SharePoint site or Microsoft 365 app:

    • Click your profile picture/icon on the upper-right corner
    • Hit the My Office profile button there
    Click My Office profile

    That step will bring you to Microsoft Delve. Click the update profile button to proceed.

    Update profile button on Delve

    On the next screen:

    • Expand the question about language and regional settings
    • Click the link provided in the answer
    Link to regional settings in Delve

    On the next page:

    • Go to the language and region tab
    • Configure your settings to personal
    • Change your timezone
    • Click the save all and close button below the page
    Change timezone settings in Delve

    The reason why you need to change the region settings first to personal is that by default, it follows the settings defined by site administration.

    That’s why the first time you come to this page, you can’t change the timezone settings unless you change the regional settings to personal.

    How to change SharePoint tenant’s time zone

    Did you know that you can also change the tenant’s timezone? For this, you need to get to the SharePoint admin center first.

    Follow these steps:

    • Click the app launcher on the upper-left corner
    • Hit the admin button on the left panel
    Click on the admin app under the app launcher panel

    On the next page:

    • Expand the options for admin centers from the left panel
    • Click the option for SharePoint
    Find SharePoint under the admin centers group

    Once you’re in the SharePoint admin center:

    • Go to the settings section of the admin center
    • Click the site creation option
    Go to site creation

    This will open a panel to the right:

    • Click the timezone dropdown
    • Select the timezone you want to use
    • Click the save button at the bottom
    Default timezone in site creation

    How to change SharePoint’s timezone using PowerShell

    Before I end this article, I want to share with you that it’s also possible to use PowerShell to change the timezone.

    Below are the codes you need to enter — credits to Salaudeen Rajack for the codes:

    But before you can update a site’s timezone, you need the timezone ID. Enter the following codes to do so:

    #Load SharePoint CSOM Assemblies
    Add-Type -Path "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\16\ISAPI\Microsoft.SharePoint.Client.dll"
    Add-Type -Path "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\16\ISAPI\Microsoft.SharePoint.Client.Runtime.dll"
     
    #SharePoint Online Site URL
    $SiteURL = "https://yourtenant.sharepoint.com/"
     
    #Get Credentials to connect
    $Cred= Get-Credential
    $Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($Cred.Username, $Cred.Password)
       
    #Set up the context
    $Ctx = New-Object Microsoft.SharePoint.Client.ClientContext($SiteUrl)
    $Ctx.Credentials = $credentials
     
    #sharepoint online powershell to get time zone
    $Timezones = $Ctx.Web.RegionalSettings.TimeZones
    $Ctx.Load($Timezones)
    $Ctx.ExecuteQuery()
     
    #Get Timezone ID and Description
    $Timezones | Select ID, Description
    

    You will then see the following response:

    Timezone ID and description

    Once you have the time zone ID and description, use the following codes:

    #Load SharePoint CSOM Assemblies
    Add-Type -Path "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\16\ISAPI\Microsoft.SharePoint.Client.dll"
    Add-Type -Path "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\16\ISAPI\Microsoft.SharePoint.Client.Runtime.dll"
     
    #Config parameters for SharePoint Online Site URL and Timezone description
    $SiteURL = "https://yourtenant.sharepoint.com/"
    $TimezoneName ="(UTC+04:00) Abu Dhabi, Muscat"
     
    #Get Credentials to connect
    $Cred= Get-Credential
    $Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($Cred.Username, $Cred.Password)
       
    #Set up the context
    $Ctx = New-Object Microsoft.SharePoint.Client.ClientContext($SiteUrl)
    $Ctx.Credentials = $credentials
     
    #Get all available time zones
    $Timezones = $Ctx.Web.RegionalSettings.TimeZones
    $Ctx.Load($Timezones)
    $Ctx.ExecuteQuery()
     
    #Filter the Time zone to update
    $NewTimezone = $Timezones | Where {$_.Description -eq $TimezoneName}
     
    #sharepoint online powershell set time zone
    $Ctx.Web.RegionalSettings.TimeZone = $NewTimezone
    $Ctx.Web.Update()
    $Ctx.ExecuteQuery() 
    

    If you want to use PnP PowerShell to set the timezone, use these codes:

    #Set Config Variables
    $SiteURL = "https://yourtenant.sharepoint.com/sites/sitename"
    $TimezoneName = "(UTC+04:00) Abu Dhabi, Muscat"
     
    #Connect to SharePoint Online with PnP PowerShell
    Connect-PnPOnline $SiteURL -Interactive
     
    #Get the Web
    $web = Get-PnPWeb -Includes RegionalSettings.TimeZones
     
    #Get the time zone
    $Timezone  = $Web.RegionalSettings.TimeZones | Where {$_.Description -eq $TimezoneName}
     
    If($Timezone -ne $Null)
    {
        #Update time zone of the site
        $Web.RegionalSettings.TimeZone = $Timezone
        $Web.Update()
        Invoke-PnPQuery
        Write-host "Timezone Updated Successfully!" -ForegroundColor Green
    }
    else
    {
        Write-host "Timezone $TimezoneName not found!" -ForegroundColor Yellow
    }
    

    To use PowerShell to set the time zone of a SharePoint Online site, use these codes:

    #Load SharePoint CSOM Assemblies
    Add-Type -Path "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\16\ISAPI\Microsoft.SharePoint.Client.dll"
    Add-Type -Path "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\16\ISAPI\Microsoft.SharePoint.Client.Runtime.dll"
     
    #function to change Timezone regional settings of a SharePoint Online site
    Function Set-SPOTimeZone
    { 
        Param ([Microsoft.SharePoint.Client.Web]$Web,[Microsoft.SharePoint.Client.TimeZone]$Timezone)
     
        Try
        {
            #Update the timezone of the site
            $Web.RegionalSettings.TimeZone = $NewTimezone
            $Web.Update()
            $Ctx.ExecuteQuery()
     
            Write-host -f Green "Timezone has been updated for "$Web.Url
     
            #Get all subsites of the web
            $Ctx.Load($Web.Webs)
            $Ctx.executeQuery()
     
            #Iterate through each subsites and call the function recursively
            Foreach ($Subweb in $Web.Webs)
            {
                #Call the function to set Timezone for the web
                Set-SPOTimeZone -Web $Subweb -Timezone $NewTimezone
            }
        }
        Catch [System.Exception]
        {
            Write-Hoste -f Red $_.Exception.Message
        }  
    }
     
    #Config parameters for SharePoint Online Site Collection URL and Timezone description
    $SiteURL = "https://yourtenant.sharepoint.com/"
    $TimezoneName ="(UTC+04:00) Abu Dhabi, Muscat"
     
    #Get Credentials to connect
    $Cred= Get-Credential
    $Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($Cred.Username, $Cred.Password)
       
    #Set up the context
    $Ctx = New-Object Microsoft.SharePoint.Client.ClientContext($SiteUrl)
    $Ctx.Credentials = $credentials
       
    #Get the Root web from given Site Collection URL
    $Web = $Ctx.web
    $Ctx.Load($Web)
     
    #Get the Time zone to update
    $Timezones = $Ctx.Web.RegionalSettings.TimeZones
    $Ctx.Load($Timezones)
    $Ctx.ExecuteQuery()
    $NewTimezone = $Timezones | Where {$_.Description -eq $TimezoneName}
      
    #Call the function to set Timezone for the Root web
    Set-SPOTimeZone -Web $web -Timezone $NewTimezone
    

    If you want to change the timezone for all existing site collections, use the following codes:

    #Load SharePoint CSOM Assemblies
    Add-Type -Path "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\16\ISAPI\Microsoft.SharePoint.Client.dll"
    Add-Type -Path "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\16\ISAPI\Microsoft.SharePoint.Client.Runtime.dll"
     
    #function to change Timezone regional settings of a SharePoint Online site
    Function Set-SPOnlineTimeZone([String]$SiteURL,[String]$TimezoneName,[PSCredential]$Cred)
    { 
         Try
         {
            #Setup Credentials to connect
            $Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($Cred.Username, $Cred.Password)
       
            #Set up the context
            $Ctx = New-Object Microsoft.SharePoint.Client.ClientContext($SiteURL)
            $Ctx.Credentials = $credentials
       
            #Get the Root web from given URL
            $Web = $Ctx.web
            $Ctx.Load($Web)
     
            #Get the Time zone to update
            $Timezones = $Web.RegionalSettings.TimeZones
            $Ctx.Load($Timezones)
            $Ctx.ExecuteQuery()
            $NewTimezone = $Timezones | Where {$_.Description -eq $TimezoneName}
      
            #Update the timezone of the site
            $Web.RegionalSettings.TimeZone = $NewTimezone
            $Web.Update()
            $Ctx.ExecuteQuery()
     
            Write-host -f Green "Timezone has been updated for "$Web.Url
     
            #Get all subsites of the web
            $Ctx.Load($Web.Webs)
            $Ctx.executeQuery()
     
            #Iterate through each subsites and call the function recursively
            Foreach ($Subweb in $Web.Webs)
            {
                #Call the function to set Timezone for the web
                Set-SPOnlineTimeZone -SiteURL $Subweb.URL -TimezoneName $TimezoneName -Cred $AdminCredentials
            }
       }
        Catch [System.Exception]
        {
            Write-Host -f Red $_.Exception.Message
        } 
    } 
     
    #Config parameters for SharePoint Online Admin Center and Timezone description
    $AdminSiteURL = "https://crescent-admin.sharepoint.com/"
    $TimezoneName ="(UTC+04:00) Abu Dhabi, Muscat"
     
    #Get credentials to connect to SharePoint Online Admin Center
    $AdminCredentials = Get-Credential
     
    #Connect to SharePoint Online Tenant Admin
    Connect-SPOService -URL $AdminSiteURL -Credential $AdminCredentials
     
    #Get all Site Collections
    $SitesCollection = Get-SPOSite -Limit ALL
     
    #Iterate through each site collection
    ForEach($Site in $SitesCollection)
    {
        Write-host -f Yellow "Setting Timezone for Site Collection:"$Site.URL
     
        #Call the function to set Timezone for the site
        Set-SPOnlineTimeZone -SiteURL $Site.URL -TimezoneName $TimezoneName -cred $AdminCredentials
    }
    

    Do you have any questions on how to change the timezone in SharePoint? Feel free to let me know in the comment section.

    For inquiries and other concerns, kindly use the site’s contact form and I’ll get back to you as soon as possible.

    About Ryan Clark

    As the Modern Workplace Architect at Mr. SharePoint, I help companies of all sizes better leverage Modern Workplace and Digital Process Automation investments. I am also a Microsoft Most Valuable Professional (MVP) for SharePoint and Microsoft 365.

    Subscribe
    Notify of
    guest
    1 Comment
    Oldest
    Newest Most Voted
    Inline Feedbacks
    View all comments

    Rohit
    Rohit
    7 months ago

    Thanks

    1
    0
    Would love your thoughts, please comment.x
    ()
    x
    Scroll to Top