Posted on May 8, 2015 · Posted in Windows 8

How to Set TimeZone from Command Prompt in Windows

Besides time and date, Time Zone is one of the basic time settings in any computer system. If you want the time to be displayed correctly, the Time Zone should be set according to the geographic position of the computer.

In Windows, it is easier to change the time zone directly in the graphical interface by clicking the clock icon in the system tray and selecting Change date and time settings. Then you have to click Change Time Zone button, choose a suitable time zone from the list, and then save the changes.

Tip. This window can be called with timedate.cpl cmdlet. Change time zone - timedate.cpl

In Windows, you can change the time zone from the command prompt. The exact way depends on your Windows version. Let’s consider the possible variants.

Permissions to Change the Time Zone

By default, a user doesn’t need the administrator privileges to change the time zone (unlike changing date/time). This behavior can be changed using local security policies (Local Security Settings - secpol.msc). Go to Security Settings -> Local Policy -> User Rights Assignment. The policy  is called Change the time zone. As you can see, time zone can be changed by the system itself, administrators and all users. To prevent users from changing the time zone, remove Users from the list in this policy.

Change the time zone - policy

How to Change the TimeZone in Windows XP from the Command Prompt

Note. Again we remind that Windows XP is not supported, so we strongly recommend to migrate to a later Windows version.

In Windows the information about the value of the current time zone is stored in the registry in key HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation

For example, in our case you can see that Romance Daylight Time is currently used.

The same information can be obtained with the following request:

reg query HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation

reg query TimeZoneInformation

The list of available time zones in Windows XP / Windows Server 2003 is stored in HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones key of the registry.

Registry timezone list

To change the current time zone to Central America Standard Time (GMT-06:00 – Central America), use the command:

RunDLL32.exe shell32.dll,Control_RunDLL timedate.cpl,,/Z Central America Standard Time


Control.exe TIMEDATE.CPL,,/Z Central America Standard Time

Make sure that the time zone has been changed:

reg query HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation

check current timezone: central america standart time

TZUtil: How to Change the Time Zone in Windows 7 / Windows 8

To change the time zone in Windows 8 / 7, Windows Server 2012 / 2008 R2, a special utility of the command prompt tzutil.exe (Windows Time Zone Utility) is used. It first appeared in Windows 7 (in Vista/ Server 2008 it is installed as a separate update KB 2556308.) Utility is located in %WINDIR%\System32.

Let’s consider the features and peculiarities of TZUti.

So, start the command prompt (cmd.exe). To find out what time zone is set, run this command:

tzutil /g

tzutil /g - check current timezone

Display the list of all time zones as follows:

tzutil /l

tzutil timezone list

Change the current time zone to Central America Standard Time (GMT-06:00)

tzutil /s "Central America Standard Time"

set timezone

Make sure that the time zone has been changed:

reg query HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation

check timezone command prompt

How to Automatically Change the Time Zone Using Powershell

Let’s consider a generic Powershell script that allows to change the time zone on any computer. (The script suggests that Windows XP / Windows Server 2003 computers still exist in your network.) This script can be assigned using group policies to all domain computers  or  certain organizational units (OU). The script determines the OS version, and if it is Windows Vista or later, uses tzutil.exe to change the time zone. In the other case the time zone is changed using  RunDLL32.exe in Windows XP.

$timeZone = "Central Europe Daylight Time"
$WinOSVerReg = Get-Item "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion"
$WinOSVer = $WinOSVerReg.GetValue("CurrentVersion")
if ($WinOSVer -GE 6){
tzutil.exe /s $timeZone
} Else {
$params = "/c Start `"Change timeZone`" /MIN %WINDIR%\System32\Control.exe TIMEDATE.CPL,,/Z "
$params += $timeZone
$proc = [System.Diagnostics.Process]::Start( "CMD.exe", $params )


Related Articles