Linux命令date命令详解

在linux环境中,熟练运用date命令来表示自己想要表示的时间,肯定可以给自己的工作带来诸多方便,下面是详细的使用说明和示例

在linux环境中,不管是编程还是其他维护,时间是必不可少的,也经常会用到时间的运算,熟练运用date命令来表示自己想要表示的时间,肯定可以给自己的工作带来诸多方便。

1.命令格式:date[参数]… [+格式]

2.命令功能:

date可以用来显示或者设定系统的日期与时间。

3.命令参数:

%H  小时(00-23之间表示)

%I  小时(01-12之间表示)。

%K  小时(0-23之间表示)。

%l  小时(0-12之间表示)。

%M  分钟(00-59之间表示)。

%P  AM或PM。

%r   时间(含时分秒,小时以12小时AM/PM来表示)。

%s  总秒数。起算时间为1970-01-01 00:00:00  UTC。

%S  秒(以本地惯用法来表示)。

%T  时间(含时分秒,小时以24小时制表示)。

%X  时间(以本地惯用法来表示)。

%Z  时区

%a  星期的缩写。

%A  星期的完整名称。

%b  月份的英文名缩写。

%B  月份的完整英文名称。

%c  日期与时间。(只输入“date”指令也可以显示同样的结果)

%d  日期(01-31表示)。

%D 日期(含年月日)。

%j  该年的第几天。

%m  月份(01-12表示)。

%U  该年的周数

%w  该周的天数,0代表周日,1代表周一,以此类推。

%x  日期(以本地惯用法来表示)。

%y  年份(00-99来表示)。

%Y 年份(以四位数来表示)。

%n  在显示时,插入新的一行。

%t  在显示时,插入tab。

MM  月份(必要)。

DD  日期(必要)。

hh   小时(必要)。

ss  秒 (选择性)

选择参数:

-d  <字符串>    显示字符串所指的时间与日期。字符串前后必须加上双引号。

-s  <字符串>    根据字符串来设置时间与日期。字符串前后必须加上双引号。

-u      显示GMT (格林威治时间)

–help   在线帮助

–version    显示版本信息

4.使用说明:

1.在显示方面,使用者可以设定欲显示的格式,格式设定为一个+号后接数个标记下:%打印出%

%n : 下一行

%t : 跳格

%H : 小时 (00..23)

%I : 小时 (01..12)

%l : 小时 (0..23)

%M : 小时 (00..59)

%k : 小时 (0..23)

%p  :  显示本地AM或PM

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

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

%S : 秒(00..61)
%T : 直接显示时间 (24 小时制)
%X : 相当于 %H:%M:%S
%Z : 显示时区 %a : 星期几 (Sun..Sat)
%A : 星期几 (Sunday..Saturday)
%b : 月份 (Jan..Dec)
%B : 月份 (January..December)
%c : 直接显示日期与时间
%d : 日 (01..31)
%D : 直接显示日期 (mm/dd/yy)
%h : 同 %b
%j : 一年中的第几天 (001..366)
%m : 月份 (01..12)
%U : 一年中的第几周 (00..53) (以 Sunday 为一周的第一天的情形)
%w : 一周中的第几天 (0..6)
%W : 一年中的第几周 (00..53) (以 Monday 为一周的第一天的情形)
%x : 直接显示日期 (mm/dd/yy)
%y : 年份的最后两位数字 (00.99)
%Y : 完整年份 (0000..9999)

2.在设定时间方面:

date -s //设置当前时间,只有root权限才能设置,其他只能查看。
date -s 20080523 //设置成20080523,这样会把具体时间设置成空00:00:00
date -s 01:01:01 //设置具体时间,不会对日期做更改
date -s “01:01:01 2008-05-23″ //这样可以设置全部时间
date -s “01:01:01 20080523″ //这样可以设置全部时间
date -s “2008-05-23 01:01:01″ //这样可以设置全部时间
date -s “20080523 01:01:01″ //这样可以设置全部时间
3.加减:
date +%Y%m%d         //显示前天年月日
date +%Y%m%d –date=”+1 day”  //显示前一天的日期
date +%Y%m%d –date=”-1 day”  //显示后一天的日期
date +%Y%m%d –date=”-1 month”  //显示上一月的日期
date +%Y%m%d –date=”+1 month”  //显示下一月的日期
date +%Y%m%d –date=”-1 year”  //显示前一年的日期
date +%Y%m%d –date=”+1 year”  //显示下一年的日期

5.使用实例

实例1:显示当前时间

命令:

date

1

date ‘+%D’

2

date ‘+%c’

3

date’+%x’

4

date ‘+%T’

5

实例2:显示日期和设定时间

命令:date –date 08:42:00

11

说明: #后为需要输入的命令

date命令的另一个扩展时 -d选项,也非常有用。使用这个强大的选项,通过将日期作为引号括起老的参数提供,你可以快速地查名一个特定的日期。-d选项还可以告诉你,相对于当前日期若干天的某一天的日期或者时间,将这些相对偏移用引号括起来,作为-d选项的参数,就可以完成这项任务。

具体如下:

date -d “nov 22”

222

使用ago指令,你可以得到过去的日期:

date -d ’30 days ago’ (30天前的日期)

44

实例5: 显示时间后跳行,再显示目前日期

命令:date ‘+%T%n%D’

66

暂时分享到这里,谢谢大家。

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

(0)
eedsxbeedsxb
上一篇 2017-07-18
下一篇 2017-07-18

相关推荐

  • N22-第3周作业-冥界之王

    1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。 [root@CentOS6 ~]# who  | cut -d " " -f1 | uniq 2、取出最后登录到当前系统的用户的相关信息。…

    Linux干货 2016-09-19
  • rpm数据库损坏 不能使用正常使用yum的处理方法

           不知道有没有跟我一样的小伙伴,在使用yum安装软件时,发现无法正常使用yum安装软件包,下面出现几句英语提示。在使用rpm时也无法正常的使用。其实 是rpm数据库崩溃导致的 下面就简单的介绍一下怎么回复,让其正常的工作,很简单几个命了即可。 1. 出现错误提示,这时我们需要认真的阅读下面的提示,不要乱找原…

    Linux干货 2017-06-13
  • 马哥教育网络版21班第四周作业

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其他用户均没有任何访问权限 [root@localhost ~]# cp -rf /etc/skel/ /home/tuser1 [root@localhost ~]# chmod&n…

    Linux干货 2016-08-05
  • sed对比grep之理解

    sed对比grep之理解 很多时候回车按下,没有结果,或是报错。 检查发现都是低级错误,关键是习惯刚学完grep,有写习惯没改过来。 sed语法很重要。script语法写对了,就成功了一大半,剩下的就是正则表达式的问题了。 sed与grep的区别是 grep是个行过滤器,筛选符合条件的行。也可以只显示每行匹配到的文本(-o选项),不对文本进行编辑,只是显示查…

    Linux干货 2016-08-10
  • rsyslog讲解

    rsyslog: 日志:历史日志 syslog(服务):syslogd(系统日志)、klogd(内核日志) c/s架构;服务,可监听于某套接字,帮其他主机记录日志信息 日志格式 /etc/rsyslog.conf facitlity.priority         &…

    Linux干货 2016-10-28
  • 制作kickstart文件和引导镜像

    kickstart制作: (1)通过手动编辑,莫个kickstat模板进行修改:如根目录下的anaconda-ks.cfg (2)通过图形界面制作kickstart文件,可以安装system-config-kickstart, 通过kickstart配置程序打开某个模板,如anaconda-ks.cfg,在图片界面下的修改, 基本配置:默认语音,键盘类型,时…

    2017-11-14