date命令总结

在linux中man手册页,对date -d 参数的的说明比较模糊,一下的举例,进一步说明:

#-d –date=STRING display time described by STRING not 'now'


命令:

date -d nex-day +%Y%m%d    //明天日期

date -d tommorw +%Y%m%d     //明天日期

date -d last-day +%Y%m%d    //昨天日期

date -d yesterday +Y%m%d    //昨天日期

date -d last-month +%Y%m    //上个月日期

date -d next-month +%Y%m    //下个月的日期

date -d next-year +%Y    //明年日期


DATE=$(date +%Y%m%d –date '2 days ago')     //获取昨天或多天前的日期


date 使用的权限:所有使用者。



使用方式:

date [-u][-d datestr] [-s datestr] [–utc]

[–universal][–date=datestr] [–set=datestr]

[–help][–version][+FORMAT][MMDDhhmm][[CC]YY][.ss]]

说明:

date 能用未显示或设定的日期和时间,在显示方面使用者能设定预显示的格式,格式设定为一个加号后接数个标记,其中可用的标记数为如下:

格式:+(一个)后跟多个标记

时间方面

%    //印出

%n    //下一行

%t    //跳出

%H    //小时(00,01,……23)是双数显示24小时制

[root@localhost ~]# date +%H

19

[root@localhost ~]# 


%k    //小时(0,1,2,……23)是单数显示24小时制

[root@localhost ~]# date +%k

19

[root@localhost ~]# 


%I    //小时(01,02,03……12)是双数显示12小时制

[root@localhost ~]# date +%I

07

[root@localhost ~]#

 

%l    //小时(1,2,3………12)是单数显示12小时制

[root@localhost ~]# date +%l

 7

[root@localhost ~]# 


%M    //分钟(00,01,……..59)

[root@localhost ~]# date +%M

39

[root@localhost ~]# 


%p    //显示本地AM,PM

[root@localhost ~]# date +%P

pm

[root@localhost ~]# date +%p

PM

[root@localhost ~]# 


%r    //直接显示时间(12小时制,格式为hh:mm:ss[AP]M)

[root@localhost ~]# date +%r

07:40:43 PM

[root@localhost ~]# 

[root@localhost ~]# date +%R

19:41

%s    //从1970年一月一日00:00:00 UTC到目前为止的秒数

[root@localhost ~]# date +%s

1470138130

[root@localhost ~]# 


%T    //直接显示时间(24小时制)

[root@localhost ~]# date +%T

19:42:57

[root@localhost ~]# 


%x    //相当于%H:%M:%s

[root@localhost ~]# date +%X    //大写的X显示时间

07:43:17 PM

[root@localhost ~]# date +%x

08/02/2016

[root@localhost ~]# 

%Z    //显示时区

[root@localhost ~]# date +%z

+0800

[root@localhost ~]# 

[root@localhost ~]# date +%Z

CST

[root@localhost ~]# 



日期方面:


%a    //简写星期几(sun,…..sat)

[root@localhost ~]# date +%a

Tue

[root@localhost ~]# 


%A    //完整星期几(sunday,…saturday)

[root@localhost ~]# date +%A

Tuesday

[root@localhost ~]# 


%b    //简写月份(jun,…….Dec)

[root@localhost ~]# date +%b

Aug

[root@localhost ~]# 


%B    //完整的月份(january,…..december)

[root@localhost ~]# date +%B

August

[root@localhost ~]# 


%C    //直接显示日期和时间

[root@localhost ~]# date +%C

20

[root@localhost ~]# 


%d    //日(01,02,……31)

[root@localhost ~]# date +%d

02

[root@localhost ~]# 


%D    //直接显示日期(mm/dd/yy)

[root@localhost ~]# date +%D

08/02/16

[root@localhost ~]# 


%h    //同%b

[root@localhost ~]# date +%h

Aug

[root@localhost ~]# 


%j    //一年中第几天(001,002,…..366)

[root@localhost ~]# date +%j

215

[root@localhost ~]# 


%m    //月份(01,02,……12)

[root@localhost ~]# date +%m

08

[root@localhost ~]# 


%U    //一年中第几周(00,01…..53)(以Sunday为一周的第一天)

[root@localhost ~]# date +%U

31

[root@localhost ~]# 


%w    //一周中的第几天

[root@localhost ~]# date +%w

2

[root@localhost ~]# 


%W    //一年中的第几周(00,01….53)(以monday为一周的第一天)

[root@localhost ~]# date +%W

31

[root@localhost ~]# 


%x    //直接显示日期(mm/dd/yy)

[root@localhost ~]# date +%x

08/02/2016

[root@localhost ~]# 


%y    //只显示年份的后两位数(00,01,…99)

[root@localhost ~]# date +%y

16

[root@localhost ~]# 


%Y    //完整的年份(0000,…….2016)

[root@localhost ~]# date +%Y

2016

[root@localhost ~]# 


如不以加号开头“+”则表示要设置时间,而时间格式为 MMDDhhmm[[CC]YY][.ss]

其中MM为月份。 DD为日   hh为小时   mm为分钟   CC为年份前两位数字   YY为年份的后两位数字

ss为秒数。


-d datestr //显示datestr中所设置的时间(非系统时间)

–help     //显示辅助信息

-s datestr //将系统时间设为datestr中说设定的时间

-u    //显示目前的格林尼治时间

–version //显示版本号


举例:

  1. 显示时间后,跳行然后再显示日期: 

[root@localhost ~]# date +%T%n%x

19:52:31

08/02/2016

[root@localhost ~]# 


2. 显示月份日数

[root@localhost ~]# date +%B%d

August02

[root@localhost ~]# 


3.显示日期和设定时间(12:34:56)

[root@localhost ~]# date

Tue Aug  2 20:08:17 CST 2016

[root@localhost ~]# clock

Tue 02 Aug 2016 08:08:23 PM CST  -0.923671 seconds

[root@localhost ~]# date;date -s 12:34:56

Tue Aug  2 20:08:37 CST 2016

Tue Aug  2 12:34:56 CST 2016

[root@localhost ~]# 


当我们不希望出现无意的0时,比如(1999/03/07)则能在标记中插入 “-”符号,比如说:date +%-H:%-M:%-S

举例:原本显示的是08:09:04 而变为 8:9:4


只有取得权限者(比如root)才能设定系统时间,我们应该注意,clock -w 来将系统时间写入CMOS,这样下次重新启动开机时。系统时间才会持续保持最新的正确值。


ntp: 时间同步:

linux系统下默认安装了ntp服务,手动进行ntp同步,如下:

ntpdate ntp 1.n1.net


date命令还可以获得给定日期是星期几?


举例:

[root@localhost ~]# date -d "nov 22"

Tue Nov 22 00:00:00 CST 2016

[root@localhost ~]# 


练习:

相对于今天,两个星期之后的日期

[root@localhost ~]# date -d '2 weeks'

Tue Aug 16 20:21:34 CST 2016

[root@localhost ~]# 


下周一的日期

[root@localhost ~]# date -d 'next monday'

Mon Aug  8 00:00:00 CST 2016

[root@localhost ~]# 


明天的日期

[root@localhost ~]# date -d 'last-day'

Mon Aug  1 20:22:48 CST 2016

[root@localhost ~]# 

[root@localhost ~]# date -d tomorrow

Wed Aug  3 20:25:11 CST 2016

[root@localhost ~]# 


上月是几月

[root@localhost ~]# date -d last-month +%Y%m%d

20160702

[root@localhost ~]# 


下月是几月

[root@localhost ~]# date -d next-month +%Y%m%d

20160902

[root@localhost ~]#

 

昨天的日期

[root@localhost ~]# date -d last-day +%Y%m%d

20160801

[root@localhost ~]#


30天前的日期           //使用ago可以看到过去的日期

[root@localhost ~]# date -d '30 days ago'

Sun Jul  3 20:28:05 CST 2016

[root@localhost ~]# 


还可以使用负数,以得到相反的日期

举例:

相对于12月,14这个月前两周的日期:

[root@localhost ~]# date -d 'dec 14 -2 weeks'

Wed Nov 30 00:00:00 CST 2016

[root@localhost ~]# 


原创文章,作者:NddTx99521,如若转载,请注明出处:http://www.178linux.com/28995

(0)
NddTx99521NddTx99521
上一篇 2016-08-05
下一篇 2016-08-05

相关推荐

  • 第一周博客作业-Linux发行版历史、哲学思想、FHS、命令格式、帮助等

    All + All – 第一周作业 1.计算机组成及功能 计算机组成 硬件 冯诺依曼体系 CPU 运算器 对数据做算暖苏运算和逻辑运算 控制器 寄存器等 程序的运行,是CPU通过调用硬盘中的程序至内存中执行来实现的 存储器 内存 ROM RAM 外存 硬盘 光盘 输入设备 鼠标、麦克风等 实现指令和参数的输入 输出设备 显示器、打印机等 实现结果…

    Linux干货 2017-07-02
  • 第一周博客作业

       本文介紹計算机的组成及其功能 、Linux各版本的联系与区别、Linux的哲学思想、Linux系统上命令的使用格式及介绍部分命令、如何在Linux系统上获取帮助信息以及Linux发行版的基础目录名称以及规定。 一、计算机的组成及其功能 1)什么是计算机? 想了解计算机的组成,首先得了解计算机的含义。计算机其实是:接收用户输入指令与数…

    Linux干货 2016-12-04
  • 大概认识linux

             linux简介 其实对Linux系统不是很了解,都是在百度和谷歌搜索出来,才发现Linux很多版本。各版本各优缺点。首先简单说下发展史,Linux在1991年10月5号(这是第一次正式向外公布的时间)在芬兰诞生,以后借助于Internet网络向全世界各地传播,由计算机爱好者的再次开发新功能和…

    Linux干货 2016-05-29
  • 马哥教育网络班22期+第7周课程练习

    1、创建一个10G分区,并格式为ext4文件系统;    (1) 要求其block大小为2048, 预留空间百分比为2, 卷标为MYDATA, 默认挂载属性包含acl;       [root@localhost ~]#…

    Linux干货 2016-10-09
  • N24_jerry 第十二周作业

    1、请描述一次完整的http请求处理过程; 简介 一次完整的HTTP请求过程从TCP三次握手建立连接成功后开始,客户端按照指定的格式开始向服务端发送HTTP请求,服务端接收请求后,解析HTTP请求,处理完业务逻辑,最后返回一个HTTP的响应给客户端,HTTP的响应内容同样有标准的格式。无论是什么客户端或者是什么服务端,大家只要按照HTTP的协议标准…

    Linux干货 2017-03-22
  • class 11 压缩软件(二)、shell编程(三)和软件包管理(一)

    一、压缩软件(二) tar tar [OPTION]… (1) 创建归档     tar -c -f / PATH/TO/SOMEFILE .tar FILE…     tar cf…

    Linux干货 2016-08-21