更改实例的时区
Amazon EC2 实例默认设置为 UTC(协调世界时)时区。您可以将实例上的时间更改为本地时区或网络中的其他时区。
请使用适用于您实例操作系统的说明。
重要
此信息适用于 Amazon Linux。有关其他发布版本的信息,请参阅特定于该版本的文档。
更改 AL2023 或 Amazon Linux 2 实例上的时区
-
查看系统的当前时区设置。
[ec2-user ~]$
timedatectl
-
列出可用的时区。
[ec2-user ~]$
timedatectl list-timezones
-
设置选定的时区。
[ec2-user ~]$
sudo timedatectl set-timezone
America/Vancouver
-
(可选)通过运行 timedatectl 命令,确认当前时区已更新为新时区。
[ec2-user ~]$
timedatectl
更改 Windows 实例上的时区
-
从实例打开命令提示符窗口。
-
确定将在实例上使用的时区。要获取时区的列表,请使用以下命令:
tzutil /l
该命令采用以下格式返回所有可用时区的列表:
display name
time zone ID
-
查找要分配给该实例的时区 ID。
-
使用以下命令分配到其他时区:
tzutil /s
"Pacific Standard Time"
新时区应立即生效。
注意
您可以使用以下命令分配 UTC 时区:
tzutil /s "UTC"
为 Windows Server 设置时区后,防止时区发生更改
在更改 Windows 实例上的时间时,必须确保该时区在系统重启后仍然保留。否则,当实例重新启动时,它会恢复使用 UTC 时间。可通过添加 RealTimeIsUniversal 注册表项来保留时区设置。默认情况下,会在所有当前一代实例上设置此注册表项。若要验证是否设置了 RealTimeIsUniversal 注册表项,请参阅以下过程中的步骤 4。如果未设置该注册表项,请从头开始执行以下步骤。
设置 RealTimeIsUniversal 注册表项
-
从实例打开命令提示符窗口。
-
使用以下命令添加注册表项:
reg add "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TimeZoneInformation" /v RealTimeIsUniversal /d 1 /t REG_DWORD /f
-
如果您使用的是在 2013 年 2 月 22 日之前创建的 Windows Server 2008 AMI(不是 Windows Server 2008 R2),我们建议更新到最新的 AWS Windows AMI。如果使用的是运行 Windows Server 2008 R2(不是 Windows Server 2008)的 AMI,则必须验证是否安装了 Microsoft 修补程序 KB2922223
。如果未安装此修补程序,建议您更新到最新的 AWS Windows AMI。 -
(可选) 验证该实例是否使用以下命令成功保存了该注册表项:
reg query "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TimeZoneInformation" /s
此命令返回 TimeZoneInformation 注册表项的子项。您应在列表底部看到 RealTimeIsUniversal 项,类似于下文:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TimeZoneInformation Bias REG_DWORD 0x1e0 DaylightBias REG_DWORD 0xffffffc4 DaylightName REG_SZ @tzres.dll,-211 DaylightStart REG_BINARY 00000300020002000000000000000000 StandardBias REG_DWORD 0x0 StandardName REG_SZ @tzres.dll,-212 StandardStart REG_BINARY 00000B00010002000000000000000000 TimeZoneKeyName REG_SZ Pacific Standard Time DynamicDaylightTimeDisabled REG_DWORD 0x0 ActiveTimeBias REG_DWORD 0x1a4 RealTimeIsUniversal REG_DWORD 0x1