«

CentOS中使用`date`命令设置系统时间

时间:2025-6-16 17:23     作者:六度科技     分类: linux技巧


在CentOS中使用date命令设置系统时间需要root权限,以下是详细步骤:

1. 临时设置系统时间(重启失效)

sudo date -s "YYYY-MM-DD HH:MM:SS"

示例(设置为2024年1月1日12:30:00):

sudo date -s "2024-01-01 12:30:00"

2. 将系统时间同步到硬件时钟(永久生效)

sudo hwclock --systohc

重要:未执行此步骤时,重启后系统会恢复为硬件时钟的时间。


替代方案:使用 timedatectl(推荐在CentOS 7+使用)

# 关闭自动时间同步(避免NTP覆盖手动设置)
sudo timedatectl set-ntp 0

# 设置时间
sudo timedatectl set-time "YYYY-MM-DD HH:MM:SS"

# 重新启用NTP(可选)
sudo timedatectl set-ntp 1

示例:

sudo timedatectl set-time "2024-01-01 12:30:00"

注意事项:

  1. 时区设置
    若时间显示异常,请先检查时区:

    timedatectl list-timezones | grep Asia  # 列出亚洲时区
    sudo timedatectl set-timezone Asia/Shanghai  # 设置为上海时区
  2. NTP服务影响
    若系统启用了NTP/chronyd服务,会自动同步网络时间覆盖手动设置。建议临时关闭:

    sudo systemctl stop chronyd  # CentOS 7/8
    sudo systemctl stop ntpd     # CentOS 6
  3. 时间格式
    必须使用ISO 8601格式:年-月-日 时:分:秒(24小时制)。


验证设置结果:

date  # 查看系统时间
hwclock --show  # 查看硬件时钟
timedatectl    # 检查时区和NTP状态