读者可以设定特定的格式,格式设定规则:一个加号后接数个标记,每个标记中都有%,其中可用的标记列表和说明如下: 

%n : 下一行

%t : 跳格

%H : 小时(00..23)

%I : 小时(01..12)

%k : 小时(0..23)

%l : 小时(1..12)

%M : 分钟(00..59)

%p : 显示本地 AM 或 PM

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

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

%S : 秒(00..59)

%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)

按照特定的格式输出时间:短接符"-"、空格" "和冒号":" 为分隔符,其中空格前面加了转义符号"\"

[root@RHEL601 tmp]# date +%Y-%m-%d\ %H:%M:%S

2012-07-19 21:10:28

在当前时间的基础上往前推或者往后推三天

[root@RHEL601 tmp]# date -d "+3 day" 

2012年 07月 22日 星期日 20:12:08 CST

[root@RHEL601 tmp]# date -d "-3 day"  

2012年 07月 16日 星期一 20:12:12 CST

在当前时间的基础上往前推或者往后推三个月

[root@RHEL601 tmp]# date -d "-3 month"    

2012年 04月 19日 星期四 20:12:39 CST

[root@RHEL601 tmp]# date -d "+3 month"  

2012年 10月 19日 星期五 20:12:48 CST

在当前时间的基础上往前推或者往后推三年

[root@RHEL601 tmp]# date -d "+3 year"      

2015年 07月 19日 星期日 20:13:06 CST

[root@RHEL601 tmp]# date -d "-3 year"   

2009年 07月 19日 星期日 20:13:11 CST

在当前时间的基础上往前推或者往后推三小时

[root@RHEL601 tmp]# date -d "-3 hour"     

2012年 07月 19日 星期四 17:13:20 CST

[root@RHEL601 tmp]# date -d "+3 hour"  

2012年 07月 19日 星期四 23:13:24 CST

在当前时间的基础上往前推或者往后推三分钟

[root@RHEL601 tmp]# date -d "+3 minute"       

2012年 07月 19日 星期四 20:16:56 CST

[root@RHEL601 tmp]# date -d "-3 minute"  

2012年 07月 19日 星期四 20:10:59 CST

在当前时间的基础上往前推或者往后推三十秒

[root@RHEL601 tmp]# date && date -d "-30 second"         

2012年 07月 19日 星期四 20:14:24 CST

2012年 07月 19日 星期四 20:13:54 CST

[root@RHEL601 tmp]# date && date -d "+30 second"  

2012年 07月 19日 星期四 20:14:29 CST

2012年 07月 19日 星期四 20:14:59 CST

2、接下来的范例说明如何用date来表示各种各样的时间,表示的都是某一天的零点时间,也可以在当前的时分秒的基础上表示时间,(特别注意中间用到了反单引号`)参见范例

date -d `date +%y%m01` #本月第一天

[root@RHEL601 tmp]# date -d `date +%y%m01`

2012年 07月 01日 星期日 00:00:00 CST

date -d `date +%y%m01`"-1 day"  #上个月最后一天

[root@RHEL601 tmp]# date -d `date +%y%m01`"-1 day"

2012年 06月 30日 星期六 00:00:00 CST

date -d `date -d "-3 month" +%y%m01`"-1 day" #4个月前的第一天

[root@RHEL601 tmp]# date -d `date -d "-3 month" +%y%m01`"-1 day"

2012年 03月 31日 星期六 00:00:00 CST

date -d `date -d "+12 month" +%y%m01`"-1 day" #第11个月后的第一天

[root@RHEL601 tmp]# date -d `date -d "+12 month" +%y%m01`"-1 day"

2013年 06月 30日 星期日 00:00:00 CST

date -d `date -d "-1 month" +%y%m01` #上个月第一天

[root@RHEL601 tmp]# date -d `date -d "-1 month" +%y%m01`

2012年 06月 01日 星期五 00:00:00 CST

date -d `date -d "+12 month" +%y%m01` #第12个月后的第一天

[root@RHEL601 tmp]# date -d `date -d "+12 month" +%y%m01`

2013年 07月 01日 星期一 00:00:00 CST

date -d `date -d "-1 day" +%Y%m%d` #前一天零点时间

[root@RHEL601 tmp]# date -d `date -d "-1 day" +%Y%m%d`

2012年 07月 18日 星期三 00:00:00 CST

date -d `date -d "-3 day" +%Y%m%d` #前三天零点时间

[root@RHEL601 tmp]# date -d `date -d "-3 day" +%Y%m%d` 

2012年 07月 16日 星期一 00:00:00 CST

date -d `date -d "+1 day" +%Y%m%d` #明天零点时间

[root@RHEL601 tmp]# date -d `date -d "+1 day" +%Y%m%d`  

2012年 07月 20日 星期五 00:00:00 CST

date -d `date -d "+3 day" +%Y%m%d` #往后推三天零点时间

[root@RHEL601 tmp]# date -d `date -d "+3 day" +%Y%m%d` 

2012年 07月 22日 星期日 00:00:00 CST

3、以下简单示范了字母大小写在date命令中的区别

Y #代表完整的年份,例如:2012年 将显示 2012

y #代表缩写年份,例如:2012年 缩写为 12

[root@RHEL601 tmp]# date +"%y%m01%H%M%S"

121201121556

[root@RHEL601 tmp]# date +"%Y%m01%H%M%S"

20121201121610

4、以下范例说明如何调整服务器的时间

ntpdate 210.72.145.44 #将服务器时间调整为正常时间,210.72.145.44 是国家授时中心服务器IP地址

[root@RHEL601 tmp]# ntpdate 210.72.145.44

19 Jul 13:07:07 ntpdate[15150]: adjust time server 210.72.145.44 offset -0.020920 sec

date 121212122012 #将时间设置为2012年 12月 12日 星期三 12:12:00,date后面的数字代表月日时分年,还可以加秒,需要后面跟英文状态下的句号字符".",例如:121212122012.12

[root@RHEL601 tmp]# date 121212122012

2012年 12月 12日 星期三 12:12:00 CST

[root@RHEL601 tmp]# date 121212122012.12

2012年 12月 12日 星期三 12:12:12 CST

[root@RHEL601 tmp]# date `date -d "1 day ago" +%m%d%H%M%Y.%S`

2012年 07月 18日 星期三 20:13:04 CST

[root@RHEL601 tmp]# date

2012年 07月 18日 星期三 20:13:10 CST

[root@RHEL601 tmp]# date `date -d "3 days ago" +%m%d%H%M%Y.%S`

2012年 07月 15日 星期日 20:13:18 CST

[root@RHEL601 tmp]# date `date -d "5 days ago" +%m%d%H%M%Y.%S`

2012年 07月 10日 星期二 20:13:28 CST

[root@RHEL601 tmp]# date `date -d "$((3600*24)) seconds ago" +%m%d%H%M%Y.%S`

2012年 07月 09日 星期一 20:13:39 CST

[root@RHEL601 tmp]# date `date -d "$((3600*24)) seconds ago" +%m%d%H%M%Y.%S`

2012年 07月 08日 星期日 20:14:01 CST

[root@RHEL601 tmp]# ntpdate 210.72.145.44

19 Jul 20:14:15 ntpdate[26846]: step time server 210.72.145.44 offset 950404.037565 sec

参考页面:1、http://www.cnblogs.com/xd502djj/archive/2010/12/29/1919478.html

写在最后,由于博客的编辑功能限制,某些字符显示在页面上不是很明显,特意将个人的本地同名总结文档上传上来,如果读者看着页面中的不习惯,可以下载附件阅读。

linux date用法的更多相关文章

  1. Linux date命令的用法

    在linux shell编程中,经常用到日期的加减运算以前都是自己通过expr函数计算,很麻烦.其实date命令本身提供了日期的加减运算非常方便. 例如:得到昨天的时间date  --date=&qu ...

  2. [转帖]Linux date命令的用法(转)

    Linux date命令的用法(转) https://www.cnblogs.com/asxe/p/9317811.html 1.命令:date 2.命令功能:date 可以用来显示或设定系统的日期与 ...

  3. 11.Linux date命令的用法

    date命令常的日常应用   修改时间 date -s “2008/05/23 19:20″ 打包文件 tar zcvf log-$(date +$F).gz /home/admin/logs 同步阿 ...

  4. Linux的date用法

    显示时间是个常用的命令,在写shell脚本中也经常会用到与日期相关文件名或时间显示.无论是linux还是windows下都是date命令. Linux下date命令用法 date [OPTION]… ...

  5. Linux date命令的用法(转)

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

  6. linux date使用

    Linux date 格式化时间和日期 [root@linuxidc ~]# date -d today +"%Y-%m-%d"  2016-11-26 [root@linuxid ...

  7. Linux -- date 日期命令

    Linux -- date 日期命令 date 用法:date [选项]... [+格式] 以给定的格式显示当前时间,或是设置系统日期. 1.使用 date 命令查看当前日期或当前时间 [root@l ...

  8. linux date 格式化时间和日期

    [root@108test ~]# date -d today +"%Y-%m-%d" 2008-05-07   [root@108test ~]# date -d today + ...

  9. linux curl用法详解

    linux ‍‍curl用法详解 ‍‍curl的应用方式,一是可以直接通过命令行工具,另一种是利用libcurl库做上层的开发.本篇主要总结一下命令行工具的http相关的应用, 尤其是http下载方面 ...

随机推荐

  1. pandas.resample()

    http://www.cnblogs.com/hhh5460/p/5596340.html resample与groupby的区别:resample:在给定的时间单位内重取样groupby:对给定的数 ...

  2. c的详细学习(2)数据类型,运算符与表达式

        本节用来介绍c语言中的数据类型和运算符.     (1)c语言的基本符号:       任何一种基本语言都有自己的基本词汇表.c语言的基本词汇表有一下几部分: *数字10个: *英文字母:大小 ...

  3. WPF之基础概念

    一:App环境承载 我们都知道Console和WinForm程序的入口都是Main函数,WPF同样也不例外,好了,我们就新建一个WPF应用程序,VS会给我们自动生成一个MainWindow.xaml和 ...

  4. [原创]java WEB学习笔记25:MVC案例完整实践(part 6)---新增操作的设计与实现

    本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当 ...

  5. 【leetcode刷题笔记】Longest Common Prefix

    Write a function to find the longest common prefix string amongst an array of strings. 题解:以strs[0]为模 ...

  6. MySQL 及 SQL 注入与防范方法

    所谓SQL注入,就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令. 我们永远不要信任用户的输入,我们必须认定用户输入的数据都是不安全的, ...

  7. 剑指offer之 二叉树镜像

    package Problem19; /* * 问题描述: * 请完成一个函数,输入一个二叉树,该函数输出它的镜像; */ //定义二叉树的结构 class BinaryTreeNode { Bina ...

  8. Luogu-2600 [ZJOI2008]瞭望塔

    把地面看成半平面,能看到所有位置的点所在的区域即为半平面的交 因为分段函数的极值只会在转折处或边界取到,所以对于半平面上和地面上的每一个交点都求一下距离就好了 #include<cmath> ...

  9. Git 远程仓库 git remote

    http://blog.csdn.net/s0228g0228/article/details/45368155 Git remote -v 查看现有远程仓库的地址url 三种方式都可以. 1. 修改 ...

  10. dedecms 织梦点击图片进入下一页代码

    织梦DedeCMS5.6网站文章页点击图片进入下一页最后一页进入下一篇文章的方法: 我们首先按照下面的方法修改: 修改 include/arc.archives.class.php 1.查找“//解析 ...