首页 > 代码库 > date命令小结

date命令小结

在写linux shell脚本时,date是经常要用到的一个命令,这篇文章就此做个小结,以防自己用到时到处找

1、最基本的,显示当前的具体时期:直接敲入 date即可,如下,

m@sys:~/scripts$ date
2015年 01月 03日 星期六 21:46:49 CST


2、显示某个文件上次修改的时间:date -r file

m@sys:~/scripts$ date -r save.sh 
2015年 01月 02日 星期五 23:29:24 CST


3、显示某个字符串所表示的时间:date -d string

m@sys:~/scripts$ date -d 20:32
2015年 01月 03日 星期六 20:32:00 CST


4、只显示时间

m@sys:~/scripts$ date +%r
下午 10时00分35秒


m@sys:~/scripts$ date +%T
22:01:01

(上面12小时制,下面24小时制)


m@sys:~/scripts$ date +%X
22时02分28秒

(本地化表示法)


5、显示年月日:

m@sys:~/scripts$ date +%D
01/03/15

m@sys:~/scripts$ date +%F
2015-01-03


m@sys:~/scripts$ date +%x
2015年01月03日

(本地化表示)


6、只显示小时和分钟:

m@sys:~/scripts$ date +%R
21:52


7、只显示年

m@sys:~/scripts$ date +%y
15
m@sys:~/scripts$ date +%Y
2015


8、只显示月份

m@sys:~/scripts$ date +%m
01
m@sys:~/scripts$ date +%b
 1月
m@sys:~/scripts$ date +%B
一月

(最后一个为本地化表示)


9、显示周

m@sys:~/scripts$ date +%a

m@sys:~/scripts$ date +%A
星期六


10、显示具体几号

m@sys:~/scripts$ date +%d
03
m@sys:~/scripts$ date +%e
 3

注意第二种方法去掉了0,这在某些情况下很有用


11、显示小时(24小时制)

m@sys:~/scripts$ date +%H -d 6:45
06
m@sys:~/scripts$ date +%k -d 6:45
 6

第二种方法去掉了0


12、显示小时(12小时制)

m@sys:~/scripts$ date -d 16:45 +%I
04
m@sys:~/scripts$ date -d 16:45 +%l
 4

注意时上面是大写的i,下面是小写的L


13、显示分钟

m@sys:~/scripts$ date -d 16:05 +%M
05


14、显示秒

m@sys:~/scripts$ date +%S
01


15、去掉数字前面的0

无论哪种表示法都可以使用“在参数前面添加一个_”的方法来去掉数字前面的0,这在参与数学运算的时候很必要。比如对于分钟和秒,要去掉前面的0,只能是这样:

m@sys:~/scripts$ date -d 16:05 +%_M
 5

m@sys:~/scripts$ date -d 16:05:09 +%_S
 9

对于其他参数也是如此,不过对于小时,显然有了自己独立的参数。


16、显示这是一年中的第几周(周一为起始)

m@sys:~/scripts$ date +%V
01

m@sys:~/scripts$ date +%U
00

还不太明白下面那个干啥的。。。


17、显示一年中的第几天

m@sys:~/scripts$ date +%j
003


18、显示这是一周中的第几天

m@sys:~/scripts$ date +%w
6


19、本地化的显示全部信息

m@sys:~/scripts$ date +%c
2015年01月03日 星期六 22时33分43秒

(感觉很废的样子。。)


date命令小结