** “date” 是用来表示日期和时间的命令,在Linux运用里是比较重要的命令。在系统里输入 “date”,显示的是当前的日期、时间,它是以“星期 月份 几号 时分秒 中国时区 年份”的格式显示的。操作效果如下:
[[email protected] LI ~]# date
Sun Dec 9 17:41:08 CST 2018
但对于国人来讲,这种格式非常的不习惯,于是我们还需要掌握另一种”年月日”格式的输入方式,同样的先输入 “date”,然后我再赋予它一个参数+%Y%m%d%H%M%S%w,那么我们就可以得到某年某月某日某时某分某秒星期几,操作效果如下:
[[email protected] ~]# date ‘+%Y%m%d %H%M%S%w’
20180718 06126
但如果你还是觉得不太好看,没问题我们还可以继续进行补充操作,我们可以在%Y、%m、%d、%H、%M、%S、%w后分别加入汉字“年、月、日、时、分、秒、星期”,那么它显示的时间格式就会变得非常顺眼啦,看一下操作,如下显示
[[email protected] ~]# date ‘+%Y年%m月%d天 %H时%M分%S秒星期%w‘
2018年07月14天 18时46分03秒星期6
但这些操作显得都太繁琐,对初学者,Linux还提供一些关于date的简单用法,比如年月日我们可以用”date +%F “ 操作,时分秒可以用”date +%T”操作,这样就比较简单,而且好记,非常适用于一些初学者。
而date除了显示当天日期时间之外,还能不能显示过去跟未来的时间呢,是可以的,这就是Linux的强大之处,它为我们提供了多种方法进行操作,表示今天的时间是用“date”,而“-d”是为我们提供了一个时间的选项,比如,我们如果要表示昨天的日期,那我们就可以用4种方法进行操作,分别是“date -d "yesterday" +%F”、“date -d "last day" +%F”、“date -d "1 day ago" +%F”、“date -d "-1 day" +%F”,在系统里操作效果如下
[[email protected] ~]# date -d "-1 day" +%F
2018-07-13
[[email protected] ~]# date -d "1 day ago" +%F
2018-07-13
[[email protected] ~]# date -d "last day" +%F
2018-07-13
[[email protected] ~]# date -d "yesterday" +%F
2018-07-13
在这里我们可以很清楚的看出这四种方法表示的都是同一天,也就是表示昨天的方法。那我们如果想要表示昨天是星期几呢,只需要把最后%后的参数改为A 就可以啦,也就是“date -d "yesterday" +%A”、“date -d "last day" +%A”、“date -d "1 day ago" +%A”、“date -d "-1 day" +%A”,在系统里的操作也一样
[[email protected] ~]# date -d "last day" +%A
Friday
[[email protected] ~]# date -d "yesterday" +%A
Friday
[[email protected] ~]# date -d "1 day ago" +%A
Friday
[[email protected] ~]# date -d "-1 day" +%A
Friday
综上所述,在系统执行操作里“date -d "-1 day" +%A”,“-d”用来显示何时,“-1 day”用来显示具体哪天,而“%A”用来显示格式。date除了可以用来显示时间,他还可以用来修改时间,在这里我们应该知道在Linux系统里存在两种时钟,也可是说是两种时间,一种叫做硬时间,即硬件时钟,硬时间即使在电脑关机后也可以由电池供电继续运行;另外一种叫做软时间,即系统时钟,它是由Linux内核通过CPU的工作频率进行。而我们用“date”修改的时间就是软时间,怎么操作更改呢,很简单,在Linux系统下我们直接输入“date”,然后跟着月份、哪天、时、分及年份即可,而如果你省略年份,系统就会默认修改为今年,你省略秒,系统就会默认0秒,而在这里还有一点要注意,如果你连秒也想修改,那么在年份后你需要加“.”输入,比如“.56”,就是把秒改为56秒,系统操作效果如下
[[email protected] ~]# date 12062030
Thu Dec 6 20:30:00 CST 2018
[[email protected] ~]# date 120620302020
Sun Dec 6 20:30:00 CST 2020
[[email protected] ~]# date 120620302020.56
Sun Dec 6 20:30:56 CST 2020
这就是关于使用date修改时间方法,但要注意date修改的是软时间,而系统里另一种时间即硬时间可以用hwclock表示,在我们的电脑关机的时候,系统会自动把软时间写入硬时间,而cmos电池供电,硬时间持续,而相反的,当我们电脑开机的时候,软时间是没有的,系统就会自动的从硬时间读取写入软时间,从而保持它们的一致。这是系统的自动操作,那我们也可以在电脑不关机不开机的时候,手动更改软、硬时间。
执行命令
1、hwclock -s 以硬件时钟(硬时间)为准,校正系统时间(软时间)
2、Hwclock -w以系统时钟(软时间)为准,校正硬件时间 (硬时间)
系统操作效果如下
1、[[email protected] LI ~]# date
Sat Dec 7 20:30:54 CST 2019
[[email protected] LI ~]# hwclock
Sun 09 Dec 2018 08:30:51 PM CST -0.563865 seconds
[[email protected] LI ~]# hwclock -s
[[email protected] LI ~]# date
Sun Dec 9 20:31:08 CST 2018
[[email protected] LI ~]# hwclock
Sun 09 Dec 2018 08:31:17 PM CST -0.798745 seconds
2、[[email protected] LI ~]# date
Sun Dec 3 22:37:51 CST 2017
[[email protected] LI ~]# hwclock
Sun 09 Dec 2018 08:33:49 PM CST -0.516848 seconds
[[email protected] LI ~]# hwclock -w
[[email protected] LI ~]# date
Sun Dec 3 22:38:09 CST 2017
[[email protected] LI ~]# hwclock
Sun 03 Dec 2017 10:38:15 PM CST -0.875870 seconds
截至到这里,关于“date”基础命令的介绍已经结束了,可以统计一下关于“date”命令的基本操作,统计如下
date
[[email protected]_v7(nanyibo) ~]# date ‘+%Y年%m月%d日 %H时%M分%S秒‘
2018年07月10日 16时57分33秒
date +%Y 年
+%m 月
+%d 日
+%H 时
+%M 分
+%S 秒
+%w 星期
+%F 年-月-日
+%T 时:分:秒
表示昨天
date -d "yesterday" +%F
date -d "last day" +%F
date -d "1 day ago" +%F
date -d "-1 day" +%F
设置时间
date 月日时分[年][.秒]
[[email protected]_v7(nanyibo) ~]# date 100112302020.23
Thu Oct 1 12:30:23 CST 2020
BIOS时间 硬时间
OS 时间 软时间
关机时,将软时间写入硬时间,cmos电池供电,硬时间持续
开机时,将读取硬时间写入软时间
- hwclock clock
hwclock 查看硬时间
hwclock -s 将硬时间写入软时间
hwclock -w 将软时间写入硬时间**
原文地址:http://blog.51cto.com/13869554/2142590