date :

  用来打印或设置系统日期和时间。

  它在linux shell编程中经常会用到。比如每天生成随日期变化的档案名,尤其在银行业务中每天都会生成流水文件。eg:datefile=$(date "+%Y%m%d")

  对于日期的计算在编程中也是有很多的应用。

下面,让我们详细了解下这个命令。

  date [选项]... [+格式]
  date [选项] [MMDDhhmm[[CC]YY][.ss]]

date常用选项

-d --date=STRING

显示STRING指定的时间

-f --file=DATEFILE

显示DATEFILE中每一行指定的时间

-r --reference=FILE

显示FILE的最后修改时间

-s --set=STRING

根据STRING设置时间

-u, --utc

显示或设置全球时间

--help

显示帮助文件并退出

--version

显示版本信息并退出

FORMAT(输出格式)

%%

显示为%

%a

当前区域星期几(简称)

%A

当前区域星期几(全称)

%b

当前区域月份简称

%B

当前区域月份全称

%c

当前区域的日期和时间

%d

月份中的几号(两位)

%D

日期(mm/dd/yy)

%e

月份中的几号(去0)

%h

同%b

%H

小时(24小时制两位)

%I

小时(12小时制两位)

%j

一年中的第几天(3位)

%k

小时(24小时制去零)

%l

小时(12小时制去零)

%m

月份(两位)

%M

分钟数(两位)

%n

换行

%p

当先时间是上午AM还是下午PM

%r

时间,按12小时制显示

%s

从1970/1/1/0/0/0到现在经历的秒数

%S

秒数(两位)

%t

水平方向的tab制表符

%T

时间,按24小时制显示(hh:mm:ss)

%U

一年中的第几个星期(00-53)周天为开始

%V

一年中的第几个星期(01-54)周一为开始

%w

用数字表示星期几(0-6)

%W

一年中的第几个星期(00-53)周一为开始

%x

按照(mm/dd/yy)显示当前日期

%X

按照(%H:%M:%S)格式显示当前时间

%y

年(后两位)

%Y

年(4位)

%z

根据RFC-822中指定的数字时区显示

%Z

时区

修改系统时间

[linux@linux ~]$ su – root //切换的root用户

密码:

[root@linux ~]# date //显示当前系统时间

2015年 05月 09日 星期六 18:35:30 CST

[root@linux ~]# date -s "2015-05-31 10:56:45" //设置系统时间

2015年 05月 31日 星期日 10:56:45 CST

[root@linux ~]# hwclock //查看硬件时间

2015年05月10日 星期日 18时56分48秒 -0.832548 seconds

[root@linux ~]# hwclock –w //硬件时间与系统时间同步

[root@linux ~]# hwclock

2015年05月31日 星期日 10时57分15秒 -0.719662 seconds

简单练习下 -d 参数

[root@linux ~]# date -d "next day" //可以用""包括

2015年 06月 01日 星期一 11:09:23 CST

[root@linux ~]# date -d next-day //可以用-连接

2015年 06月 01日 星期一 11:09:35 CST

[root@linux ~]# date -d next_day //不能用_连接,会解析成空格

date: 无效的日期"next_day"

[root@linux ~]# date -d "-10 days" +%Y-%m-%d //显示10天前的日期

2015-05-21

[linux@linux ~]$ date -d 20150922

2015年 09月 22日 星期二 00:00:00 CST

date命令参数很多,不需要全部记忆,但是关于时间的计算显示一定要想到date然后利用man帮助来解决问题。

本文版权归作者所有,欢迎转载,且在文章页面明显位置给出原文链接

date命令详解与练习的更多相关文章

  1. mac date命令详解

    Mac下的date命令是BSD(Berkeley Software Distribution)系的,Linux下date命令是GNU(GNU's Not Unix)系,二者用法有一些区别. BSD并不 ...

  2. Linux date命令详解

    1.显示时间 date命令可以按照指定格式显示日期,只键入date则以默认格式显示当前时间.如下: 如果需要以指定的格式显示日期,可以使用“+”开头的字符串指定其格式,详细格式如下: %n : 下一行 ...

  3. linux之date命令详解

    date命令的用处 1.用于显示特殊的时间格式,可以用于对日志文件的命名 2.用于设置时间 ,不过这方面用的比较少,因为一般的服务器都设置的有自动同步网络时间 用法: date [OPTION]... ...

  4. date命令详解

    基础命令学习目录首页 原文链接:https://www.cnblogs.com/qmfsun/p/4598650.html date "+今天是%Y-%d-%m,现在是%H:%M:%S&qu ...

  5. linux系统date命令详解

    Linux时钟分为系统时钟(System Clock)和硬件(Real Time Clock,简称RTC)时钟.系统时钟是指当前Linux Kernel中的时钟,而硬件时钟则是主板上由电池供电的时钟, ...

  6. date 命令详解

    date - print or set the system date and time Display the current time in the given FORMAT, or set th ...

  7. 00007 - Linux时间date命令详解

    1.命令:date 2.命令功能:date 可以用来显示或设定系统的日期与时间. 3.命令参数 -d<字符串>:显示字符串所指的日期与时间.字符串前后必须加上双引号: -s<字符串& ...

  8. Shell date 命令详解

    格式: date [选项] ... [+格式] 选项说明: -d ,--date=字符串 显示指定字符串所描述的时间 格式说明: 例子1: #!/bin/bash ##. 获取当前系统时间 YYYY- ...

  9. Linux常用命令详解(week1_day1_2)--技术流ken

    本节内容 aliasunaliasunamesuhostnamehistorywhichwcwwhowhoamipingkillseqdudffreedate 命令详解 1. alias 设置.’查看 ...

随机推荐

  1. AOE网上的关键路径(最长路径 + 打印路径)

    题目描述 一个无环的有向图称为无环图(Directed Acyclic Graph),简称DAG图.     AOE(Activity On Edge)网:顾名思义,用边表示活动的网,当然它也是DAG ...

  2. Shredding Company(dfs)

    Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 3519   Accepted: 2009 Description You h ...

  3. 教您怎么从spring 官网下载参考文档

    假如您使用spring,那么本经验可能帮助到您. 假如您使用spring的过程中,需要查询一些文档,那么本经验可能帮助到您. 假如您对下载spring的文档有疑惑,那么本经验可能帮助到您. 教您怎么从 ...

  4. ARM机器码分析

    我们编写的汇编程序还是不够底层,CPU都是对机器码进行操作的,所以还需要用汇编器将汇编代码转换成机器码才能被CPU处理.下面举几个例子来说说分析ARM机器码的方法. 对编译连接之后得到的ELF进行反汇 ...

  5. 《ACM国际大学生程序设计竞赛题解Ⅰ》——基础编程题

    这个专栏开始介绍一些<ACM国际大学生程序设计竞赛题解>上的竞赛题目,读者可以配合zju/poj/uva的在线测评系统提交代码(今天zoj貌似崩了). 其实看书名也能看出来这本书的思路,就 ...

  6. HDU 4751 Divide Groups 2013 ACM/ICPC Asia Regional Nanjing Online

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4751 题目大意:判断一堆人能否分成两组,组内人都互相认识. 解题思路:如果两个人不是相互认识,该两人之 ...

  7. 关于 Head First SQL 中文版

    我想谈谈 我对于Head  First  SQL  中文版的一些看法 事实上关于我翻译的这个Head  First  SQL 中文版..我自觉得:的确翻译得非常烂.. 和翻译Head  First  ...

  8. linux中 vi / vim显示行号或取消行号命令

    1. 显示行号 :set number 或者 :set nu 2. 取消行号显示 :set nu! 3. 每次打开都显示行号 修改vi ~/.vimrc 文件,添加:set number

  9. Codeforces 526D - Om Nom and Necklace 【KMP】

    ZeptoLab Code Rush 2015 D. Om Nom and Necklace [题意] 给出一个字符串s,判断其各个前缀是否是 ABABA…ABA的形式(A和B都可以为空,且A有Q+1 ...

  10. SPOJ 4053 - Card Sorting 最长不下降子序列

    我们的男主现在手中有n*c张牌,其中有c(<=4)种颜色,每种颜色有n(<=100)张,现在他要排序,首先把相同的颜色的牌放在一起,颜色相同的按照序号从小到大排序.现在他想要让牌的移动次数 ...