如何通过命令行设置时区?

38

我该如何在Windows中使用命令行或批处理文件设置时区?

我需要使用PowerShell还是cscript吗?

4个回答

68

用于在Windows 7中改变时区的命令行实用程序是tzutil.exe,也被称为 Windows时区工具 。这对所有更喜欢使用命令提示符的用户来说都是一个很好的工具。

使用/s参数设置时区:

tzutil /s "universal standard time"

使用 /g 参数来获取时区:

tzutil /g
使用/l参数来列出有效的时区。
tzutil /l

[来源]


@IonicăBizău,这是否像“普通 UI”一样在事件查看器中添加登录日志? - Pacerier
是的,这会记录一个事件。您可以将时区设置为当前时区以生成一个。 - wmassingham

3
如果有人仍在使用Windows XP(就像我一样): 步骤1: 您可以在“运行”窗口(cmd)中使用以下命令行:
Control.exe TIMEDATE.CPL,,/Z W. Europe Standard Time

“W. Europe Standard Time”表示西欧标准时间,其他可能的值包括:

  • “E. Europe Standard Time”(东欧)
  • “Pacific Standard Time”(太平洋区)

等等。这里可以找到可能的值列表(虽然是针对Windows Vista的,但似乎大部分值都相同):

https://technet.microsoft.com/en-us/library/cc749073%28v=ws.10%29.aspx

步骤2

为了从快捷方式中运行上述命令,您可以执行以下操作:

创建一个新的快捷方式(例如在Windows资源管理器中,在空白区域右键单击,然后选择“新建快捷方式”),并将以下值输入其中(通过在打开的窗口中输入代码,或作为相应命名字段中的“目标”):

C:\Windows\System32\cmd.exe /c Control.exe TIMEDATE.CPL,,/Z W. Europe Standard Time

(该示例使用西欧标准时间;根据您的喜好更改)点击此快捷方式(即单击图标)立即更改时区。
根据我的需求,我创建了两个这样的快捷方式,一个将时区设置为西欧,另一个将其设置为东欧,因为这些是我经常工作的地点。
(步骤2的来源:从桌面快捷方式运行命令提示符命令

@Christian,有没有一种方法可以设置任意时区,比如+15:00 GMT? - Pacerier
你的意思是,不使用特定的时区名称(比如“西欧”),而是使用数字表示的时间(+15:00)? - Christian Geiselmann
@ChristianGeiselmann,我指的是存在于特定时区名称之外的任意时区。请参见此评论:https://dev59.com/gW445IYBdhLWcg3wOnrW#2N8XoYgBc1ULPQZFSFe2 。例如+15:00(请注意,实际上并没有+15:00)或+08:12。 - Pacerier

2
如果您拥有PowerShell 5.1,那么就相当于在PowerShell中拥有tzutil。例如,如果您使用的是Windows 10。
示例:
查看当前时区:
Get-TimeZone

查看可用的时区:

Get-TimeZone -ListAvailable

设置时区:

Set-TimeZone -Name "Georgian Standard Time"

来源: https://www.sysadmit.com/2019/08/cambiar-zona-horaria-Windows.html


-2

这里是与Windows 7相关的初始问题的另一个答案。此解决方案完全基于Ionica Bizau的第一次贡献(请参见上文)。本质上,我只是添加了逐步创建批处理文件的说明。

要为设置时区创建批处理文件:

1)在任何文本编辑器(PSPad、Notepad++、记事本或其他)中创建一个文本文件

2)在文本文件中,只需编写一行代码。例如,编写

tzutil /s "GTB Standard Time"

这将设置索非亚、布加勒斯特等城市的时区。或者使用

tzutil /s "W. Europe Standard Time"

针对阿姆斯特丹、布鲁塞尔等地理经度的位置。

3)将文件保存为有意义的名称,例如“Set_TimeZone_W-Europe.bat”。确保文件类型后缀为“.bat”。将其保存在您喜欢的任何位置的文件系统中。您可以选择“桌面”文件夹,以便从桌面屏幕上访问该文件。

4)就这样。双击图标将触发(简约)程序代码的执行,即将系统时间设置为所需时间。

注意:出于我的目的,我制作了两个这样的文件,一个用于西欧,一个用于东南欧洲,这些是我经常访问的地方。

如果您需要其他时区,请按以下方式查找它们的名称:

a)打开“执行”窗口(cmd)

b)键入“tzutil / l”(不带引号),然后按“回车”。这将显示可用时区的列表。


3
这个回答在已接受的回答中增加了不必要的"废话",还回答了一个完全没有问到的问题“如何制作批处理文件”,更不用提引号的不一致使用了。然后,在详细介绍使用哪个文本编辑器、如何命名我的文件、在哪里保存它以及如何执行它之后,在第4步我被告知简单地:'打开“执行”窗口(cmd)'。 - RozzA
感谢您的评论。这份详细的说明是为那些比您更少有计算机经验的人编写的(它解决了我自己在原始答案中遇到的问题)。因此,它包括一些您可能会觉得太啰嗦的部分(例如提及如何创建文本文件),但我相信有些人会发现这种冗余很有帮助。至于您关于引号的评论:我现在再次检查了一下,我仍然认为它们的使用非常一致。也许您习惯了其他环境的规则?在我的环境中,这是排版上的良好实践。 - Christian Geiselmann

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接