date
命令设置日期时间,需root权限,格式:sudo date -s "YYYY-MM-DD HH:MM:SS"
,sudo date -s “2025-11-22 14:30:00”,同步硬件时钟用
sudo hwclock –systohc`。在Linux系统中,正确设置日期和时间对系统日志、任务调度、安全证书验证等至关重要,以下是两种主流方法,操作前请确保拥有root权限(使用sudo
或切换至root用户)。
方法1:使用 date
命令(通用方法)
步骤:
-
查看当前日期时间
date
输出示例:
Mon Jun 10 15:30:00 CST 2025
-
设置新日期和时间
格式:date -s "YYYY-MM-DD HH:MM:SS"
sudo date -s "2025-06-10 15:35:00"
- 支持简写(仅时间):
sudo date -s "15:35:00"
- 时区自动使用当前系统设置(如CST、UTC)。
- 支持简写(仅时间):
-
同步到硬件时钟(BIOS时钟)
避免重启后时间重置:sudo hwclock --systohc # 将系统时间写入硬件时钟
方法2:使用 timedatectl
命令(systemd系统推荐)
适用于Ubuntu 16.04+、CentOS 7+等新版本:
-
查看时间状态
timedatectl
输出包含:系统时间、硬件时钟、时区及NTP同步状态。
-
修改日期和时间
sudo timedatectl set-time "2025-06-10 15:40:00"
- 必须使用完整格式
YYYY-MM-DD HH:MM:SS
。
- 必须使用完整格式
-
启用NTP自动同步(推荐)
联网自动同步精准时间:sudo timedatectl set-ntp true # 启用NTP sudo systemctl restart systemd-timesyncd # 重启时间服务
关键注意事项
-
时区设置
- 查看时区:
timedatectl | grep "Time zone"
- 设置时区(如上海):
sudo timedatectl set-timezone Asia/Shanghai
- 查看时区:
-
权限问题
所有命令需sudo
或root权限,否则报错"date: cannot set date: Operation not permitted"
。 -
硬件时钟与系统时钟
- 系统时钟:Linux内核维护的时间
- 硬件时钟:主板BIOS时间
- 同步命令:
sudo hwclock --systohc # 系统时间 → 硬件时钟 sudo hwclock --hctosys # 硬件时钟 → 系统时间
-
NTP冲突
手动设置时间前,先关闭NTP同步:sudo timedatectl set-ntp false
常见问题解决
- 时间误差较大:检查时区或启用NTP:
sudo apt install ntp
(Debian系) - 重启后时间重置:运行
sudo hwclock --systohc
持久化设置 - 虚拟机时间异常:安装VMware Tools/VirtualBox增强功能
引用说明: 参考Linux man官方文档(
man date
,man timedatectl
)、Ubuntu Systemd手册及Red Hat时间管理指南,实践前请备份重要数据,生产环境建议通过NTP服务器同步时间。
原创文章,发布者:酷盾叔,转转请注明出处:https://www.kd.cn/ask/36403.html