首页 > 技术分享 > Other
收藏

Linux时间与日期

08/02 18:00
大潇博客 原创文章,转载请标明出处

查看时间

date命令可以查看日期时间,并可以格式化显示形式以及做日期计算,命令:

date [-d] [+格式化字符串]

-d:按照给定的字符串显示日期,一般用于日期计算,其中支持的时间标记有:year、month、day、hour、minute、second,比如:

date -d "+1 day"

date -d "-1 day"

date -d "+1 month"

date -d "-1 month"

date -d "+1 year"

date -d "-1 year"

-d选项可以和格式化字符串配合一起使用(格式化字符串:通过特定的字符串标记,来控制显示的日期格式)

%Y 年

%y 年份后两位数字(00,99)

%m 月份(01,12)

%d 日(01,31)

%H 小时(00,23)

%M 分钟(00,59)

%S 秒(00,59)

%s 自1970-01-01 00:00:00 UTC到现在的秒数

只显示日期,按照2030-11-11的格式显示日期,此时命令中无特殊字符串,加不加引号都可以

date +%Y-%m-%d

按照2030-11-11 23:01:59的格式显示日期,因为其中含有空格,空格后面的会被当成一个独立的参数,不符合规范,所以用引号包起来当做一个整体去使用

date "+%Y-%m-%d %H:%M:%S"


修改Linux系统时区

有时通过date查看的日期时间并不准确,这可能是系统默认时区非中国的东八区

使用root权限,执行如下命令,修改时区为东八区

将系统自带的localtime文件删除,并将/usr/share/zoneinfo/Asia/Shanghai文件软链接为/etc/localtime文件即可

rm -f /etc/localtime

ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime


自动校准时间

通过ntp程序,自动校准时间:

系统不一定自带ntp命令,安装:

apt install ntp

apt install ntpdate

systemctl start ntp #启动

systemctl status ntp #查看状态

systemctl enable ntp #设置开机自启

当ntp启动后会定期的帮服务器联网校准系统的时间


手动校准时间(需root权限)

ntpdate -u ntp.aliyun.com

通过阿里云提供的服务网址配合ntpdate命令自动校准,有的系统安装ntp时默认会附带安装ntpdate,如果提示未找到ntpdate,再安装一次ntpdate即可


手动调整时间

命令:

date -s "日期"

比如:

date -s 2020-6-18

date -s "2022-11-11 20:18:30"


硬件时钟

在Linux中有两种时钟,分别是硬件时钟和系统时钟

date命令可以显示盒设定系统时钟,datentp命令可以设定系统时钟

hwclock命令可以显示和设定硬件时钟

hwclock --set --date "2022-01-01 12:00:00" #设置硬件时钟

hwclock --hctosys #将硬件时钟同步到系统时间


打赏

阅读排行

大家都在搜

博客维护不易,感谢你的肯定
扫码打赏,建议金额1-10元
  • 15601023311