你这个问题可能有点歧义,我先按两种常见理解来解释:
(也就是:为什么我们要手动把时区从 UTC 改成 CST / Asia/Shanghai)
CentOS(以及大多数 Linux 发行版)默认时区是 UTC(世界协调时间),而不是本地时间。
原因:
但在中国服务器上,UTC 会导致:
date 显示时间和实际时间差 8 小时所以通常会替换成:
timedatectl set-timezone Asia/Shanghai
很多 CentOS 镜像(Docker、云镜像) 默认就是 UTC,这是为了“通用性”。
实际使用时必须替换时区,否则:
CentOS 默认认为:
如果 BIOS 时间是本地时间(Windows 习惯),也会导致“时区不对”,需要:
timedatectl set-local-rtc 1
(RHEL / CentOS 本身的变更)
如果你是问:
为什么 CentOS 不再是默认 Linux 发行版?
原因:
如果你能补充一句具体场景(比如:“容器里时间不对”或“CentOS 7 换 8”),我可以给更精准的答案。