我在俄勒冈州 (us-west-2c) 有两个 EC2 实例在运行。当我发出命令 date 时,每个实例都返回比我预期早 7 小时的值。
我尝试调整时区设置,但每个设置返回的日期和时间都与我预期的有很大不同。
创建文件 /etc/sysconfig/clock 并将其值设为 ZONE="America/Phoenix" 并没有带来任何变化。即使重新启动实例也是如此。(即 sudo reboot)
我正在处理和看到的示例。(所有结果均在测试时间戳的 5 分钟内。)测试时间:2016 年 3 月 26 日星期六 13:24:16 MST(美国/凤凰城)
sudo rm /etc/localtime && sudo ln -s /usr/share/zoneinfo/MST /etc/localtime && date
2016 年 3 月 26 日星期六 18:23:35 MST
sudo rm /etc/localtime && sudo ln -s /usr/share/zoneinfo/America/Phoenix /etc/localtime && date
2016 年 3 月 26 日星期六 18:24:16 MST
sudo rm /etc/localtime && sudo ln -s /usr/share/zoneinfo/GMT /etc/localtime && date
星期日 三月 27 01:22:21 GMT 2016
因此,如果 America/Phoenix 与 GMT-7 相同,则上述计算将正确。但为什么 America/Phoenix 会差 7 个小时呢?
亚马逊俄勒冈州的服务器使用什么时区?
谢谢。史蒂文
编辑说明:上面的测试时间记录有误。已更新。- Steven
答案1
通常,系统时钟设置为 UTC,而“显示”时区为本地时间。上面的配置似乎指定系统时钟设置为本地时间,这会导致您的时钟因时区偏移而偏离。
设置 UTC=true 并设置你已经拥有的时区,你可以看看http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/set-time.html了解 AWS 对该流程的定义。重新登录即可解决问题。
此外,AWS 主机上的时间正确性并非是必然的,因此您应该考虑安装 NTPd。即使您没有通过将时间强制为正确值来重置 UTC 配置,安装 ntpd 并运行 ntpdate 也会解决您的时间问题。
答案2
运行命令
sudo dpkg-reconfigure tzdata
按照屏幕上的向导对我有帮助。
答案3
在我的一个教程我展示了如何在 Amazon Linux 上设置时区。
ls -l /usr/share/zoneinfo/ # (Find the applicable zone file)
mv /etc/localtime /etc/localtime.original
ln -s /usr/share/zoneinfo/*ZONEFILENAME* /etc/localtime
# EG I do this below
# ln -s /usr/share/zoneinfo/NZ /etc/localtime
然后编辑 /etc/sysconfig/clock
ZONE="NZ"
UTC=false
答案4
以下 3 个步骤足以更改 amazon Linux 上的时区。
$ sudo vim /etc/sysconfig/clock ##(ZONE="IST" in my case its IST)
##(Do not change the UTC=true entry to another value. This entry is for the hardware clock)
$sudo ln -sf /usr/share/zoneinfo/Asia/Kolkata /etc/localtime
$sudo reboot
参考文件https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/set-time.html