Change Regional Settings – Time Zone, Locale in SharePoint with PowerShell
Regional settings in SharePoint 2013 control how locale-specific information, such as Date, Time, Numbers, calendar, etc., are displayed on the site. Internally, SharePoint keeps date-time values in UTC format in the database and presents them to the end-user based on the configured regional settings.
SharePoint 2013 regional settings are configured in these levels:
- Web Application Level
- Site Collection Level
- Site Level
- User Level
Change Regional Settings at the Web Application Level
Under web application general settings, we’ve “Default Time Zone” settings, which sets default regional settings for site collections at the time of its creation.
- Go to Central Administration Site
- Manage Web Applications >> Select your web application
- Click on “General Settings” ribbon button
Now, from the general settings page, you can set “Default Time Zone” for a site collection.
SharePoint 2013 default regional settings
However, This setting has only a “Time zone” configuration and sets the default time zone for any new SharePoint site collections. (No effect on existing site collections under the specific web application). Of course, there are other regional settings like “locale”. I don’t see any other ways to set default regional settings like “Locale” on new sites other than Feature stapling/custom site definitions.
If nothing is specified in the Web application’s timezone settings, then your SharePoint Server’s timezone will be used as regional settings for your site collections!
Reset web application’s default time zone, use this script (Not possible through UI)
#Get Web Application $webApp = Get-SPWebApplication " https://sharepoint.crescent.com" #$Reset Web Application's default timezone $webApp.DefaultTimeZone=-1 $webApp.Update()
Site Collection Level and Site Level Regional Settings
As a global organization, you may want to change the regional settings such as the timezone of your site collection based on the team’s location instead of the time zone set by the SharePoint server’s location. Each site can have its own regional settings. When you create a new subsite, it inherits its parent site’s (not site collection!) regional settings by default. To change the timezone in SharePoint 2013 sites,
- Go to Site Actions Gear >> Site Settings
- Click on “Regional Settings” link under Site Administration
- Now, you can set SharePoint 2013 site collection time zone
On the Regional Settings page, the following properties can be set:
- Time Zone: Time zone to use in date and time for activities, time stamps such as “Created On”, “Modified On”, etc
- Locale: Specify the locale to determine how numbers and dates are displayed.
- Sort Order: Identify sorting preferences to be used within the site.
- Set Your Calendar: Set the calendar format for the site and whether week numbering is displayed in the date navigator.
- Enable an Alternate Calendar: Specify a secondary calendar format to make this alternate information available in the site (If required).
- Define Your Work Week: Specify the days of the workweek, the first day of the week, the first week of the year, and the start and ending time of the workday.
- Time Format: Specify whether the time format to be displayed as 12 or 24-hour.
User Level Regional Settings in SharePoint 2013:
Users can have their own regional settings rather than the one specified at the site level. This is extremely helpful when users work between multiple time zones. To configure your personal, regional settings,
- Click on Welcome menu (Personal menu) >> My Settings
- Click on “My Language And Region” link.
- Uncheck “Always follow web settings” and then specify your custom time zone and other regional settings.
The user’s regional settings take precedence over any other regional settings in SharePoint 2013.
PowerShell script to change site regional settings in SharePoint
Would you like to change the regional settings for your SharePoint site using PowerShell? In this post, we’ll show you how to use the script to quickly change regional settings for any site in your SharePoint environment.
Add-PSSnapin Microsoft.SharePoint.PowerShell -ErrorAction SilentlyContinue #Site URL variable $SiteUrl ="https://intranet.crescent.com" #Get site object $web = Get-SPWeb $siteUrl #Set Locale setting $culture=[System.Globalization.CultureInfo]::CreateSpecificCulture("en-US") $web.Locale=$culture #Set Timezone $TimezoneID = 23 #(GMT+05:30) Chennai, Kolkata, Mumbai, New Delhi $web.RegionalSettings.TimeZone.ID = $TimezoneID #$web.RegionalSettings.Time24=$True #$web.RegionalSettings.FirstDayOfWeek=1 #Sunday #Update settings $web.Update()
Change User’s Regional Settings using PowerShell:
Add-PSSnapin Microsoft.SharePoint.PowerShell -ErrorAction SilentlyContinue $WebURL="https://intranet.crescent.com" #Get the Web $Web = Get-SPWeb $WebURL #Get the User $User = Get-SPUser "i:0#.w|Crescent\salaudeen" -web $WebURL #Configure User's Timezone settings $UserTimeZoneId = 23 $RegionalSettings = new-object Microsoft.SharePoint.SPRegionalSettings($web, $true) $RegionalSettings.TimeZone.Id = $UserTimeZoneId $User.RegionalSettings = $RegionalSettings $User.Update()
Refer to this MDSN link to get IDs for the timezone: https://msdn.microsoft.com/en-us/library/office/jj247008.aspx?f=255&MSPPError=-2147217396
SharePoint 2013 central admin regional settings
SharePoint 2013 central administration regional settings are hidden. Just append: /_layouts/15/regionalsetng.aspx to the central admin URL to get regional settings of central admin. E.g., https://sharepointserver:2013/_layouts/regionalsetng.aspx
4 thoughts on “Change Regional Settings – Time Zone, Locale in SharePoint with PowerShell”
How can we achieve this for all Users (Everyone) on SharePoint 2013 Foundation.
My popularity trends are showing incorrect date/time its like 1 day behind (my assumption is in GMT or UTC). I checked the Regional Settings of our site and it is set correctly UTC+10:00 Canberra, Melbourne, Sydney And also checked the user regional settings, central admin and they are set correctly as well. Is there a way to correct this or we have to live with this 🙁
How to add custom locale in SharePoint 2013. I need to change the date format for existing locale. Ex.
Country Language Language Code Date Format Now Date Format Wanted
Austria German de-AT DD.MM.YYYY DD/MM/YYYY
If you don’t want to change the language/locale to some other, which gives your desired date format, you are left with options such as : using calculated fields (TEXT(Created, “DD/MM/YYYY”)), changing date format in data view XSL.