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 17:39
下一篇 2017-07-18 20:04

相关推荐

  • sed工具 vim编辑器

    sed工具:    用法:           sed [option]… 'script' inputfile…      常用选项:           &nbs…

    Linux干货 2016-08-12
  • vim文本编辑器和sed用法汇总

    1. Vim是一个类似于Vi的著名的功能强大、高度可定制的文本编辑器,在Vi的基础上改进 和增加了很多特性。 VIM是纯粹的自由软件。 2. vim的三种工作模式: (1) 编辑模式:也叫命令模式,可以执行个各种快捷键的命令 (2) 插入模式:在文本文件中可以直接输入内容。 (3) 末行模式:红帽官方叫扩展命令行模式vim内置命令行接口  注:vi…

    Linux干货 2016-08-12
  • 缓存需知

    Edit Web缓存核心技术点需知 5.1 HTTP首部控制 5.2 基于新鲜度检测机制: 2.1 特征1:时间局部性 2.2 特征2:空间局部性 2.3 缓存的优点 2.4 哪类数据应该被缓存 2.5 哪类数据可缓存但不应该被缓存 2.6 缓存命中率决定缓存有效性 2.7 缓存数据生命周期 2.8 缓存处理步骤 2.9 缓存和普通数据读取的区别 1. 完整…

    Linux干货 2015-02-22
  • 正则表达式与例题

    正则表达式与例题  一BRE 和ERE 由一类特殊字符及文本字符所编写的模式,其中有些字符(元字符)不表示字符字面意义,而表示控制或通配的功能 程序支持:grep ;sed ;  awk ; vim ; less ; nginx ; varnish 元字符分类:字符匹配  匹配次数  位置锚定  分组 二.基…

    Linux干货 2017-07-29
  • 浅谈DNS基本原理以及实现方法(一)

     DNS(Domain Name System,域名系统),是目前互联网上最不可或缺的服务器之一,我们在互联网从访问一个网站,到发送一封电子邮件,再到定位域中的域控制器,无时无刻不再使用着DNS为我们提供的服务,那为什么我们会需要这样一个服务那?带着这样一个疑问让我们先来认识一下什么是DNS吧  DNS最核心的工作就是域名解析,也就是把计…

    Linux干货 2015-12-15
  • Python第一周小结

    经历了两个星期Linux运维基础的铺垫,这周我们正式开始了python的学习。经过第一周的各种挣扎以及反复训练,终于有所收获了一点东西。现在将第一周中学到的一个非常重要的算法技巧总结如下: 即:折半思想 例:给定一个不超过五位数的正整数,判断该数有几位数 Code1:                                              …

    Linux干货 2018-03-26