1 语法

# date --help

用法:date [选项]... [+格式]

 或:date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]

1.1  输出格式

给定的格式FORMAT 控制着输出,解释序列如下:

%%    一个文字的 %

%a    当前locale 的星期名缩写(例如: 日,代表星期日)

%A    当前locale 的星期名全称 (如:星期日)

%b    当前locale 的月名缩写 (如:一,代表一月)

%B    当前locale 的月名全称 (如:一月)

%c    当前locale 的日期和时间 (如:2005年3月3日 星期四 23:05:25)

%C    世纪;比如 %Y,通常为省略当前年份的后两位数字(例如:20)

%d    按月计的日期(例如:01)

%D    按月计的日期;等于%m/%d/%y

%e    按月计的日期,添加空格,等于%_d

%F    完整日期格式,等价于 %Y-%m-%d

%g    ISO-8601 格式年份的最后两位 (参见%G)

%G    ISO-8601 格式年份 (参见%V),一般只和 %V 结合使用

%h    等于%b

%H    小时(00-23)

%I    小时(00-12)

%c    按年计的日期(001-366)

%k    时(0-23)

%l    时(1-12)

%m    月份(01-12)

%M    分(00-59)

%n    换行

%N    纳秒(000000000-999999999)

%p    当前locale 下的"上午"或者"下午",未知时输出为空

%P    与%p 类似,但是输出小写字母

%r    当前locale 下的 12 小时时钟时间 (如:11:11:04 下午)

%R    24 小时时间的时和分,等价于 %H:%M

%s    自UTC 时间 1970-01-01 00:00:00 以来所经过的秒数

%S    秒(00-60)

%t    输出制表符 Tab

%T    时间,等于%H:%M:%S

%u    星期,1 代表星期一

%U    一年中的第几周,以周日为每星期第一天(00-53)

%V    ISO-8601 格式规范下的一年中第几周,以周一为每星期第一天(01-53)

%w    一星期中的第几日(0-6),0 代表周一

%W    一年中的第几周,以周一为每星期第一天(00-53)

%x    当前locale 下的日期描述 (如:12/31/99)

%X    当前locale 下的时间描述 (如:23:13:48)

%y    年份最后两位数位 (00-99)

%Y    年份

%z +hhmm              数字时区(例如,-0400)

%:z +hh:mm            数字时区(例如,-04:00)

%::z +hh:mm:ss        数字时区(例如,-04:00:00)

%:::z                 数字时区带有必要的精度 (例如,-04,+05:30)

%Z                    按字母表排序的时区缩写 (例如,EDT)

默认情况下,日期的数字区域以0 填充。

以下可选标记可以跟在"%"后:

- (连字符)不填充该域

_ (下划线)以空格填充

0 (数字0)以0 填充

^ 如果可能,使用大写字母

# 如果可能,使用相反的大小写

在任何标记之后还允许一个可选的域宽度指定,它是一个十进制数字。

作为一个可选的修饰声明,它可以是E,在可能的情况下使用本地环境关联的

表示方式;或者是O,在可能的情况下使用本地环境关联的数字符号。

1.2  时间设置

我们一般使用“date -s”命令来修改系统时间

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″ //这样可以设置全部时间

在系统启动时,Linux操作系统将时间从CMOS中读到系统时间变量中,以后修改时间通过修改系统时间实现。为了保持系统时间与CMOS时间的一致性,Linux每隔一段时间会将系统时间写入CMOS。由于该同步是每隔一段时间(大约是11分钟)进行的,在我们执行date -s后,如果马上重起机器,修改时间就有可能没有被写入CMOS,这就是问题的原因。

如果要确保修改生效可以执行如下命令。

#clock –w

这个命令强制把系统时间写入CMOS。

1.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"  //显示下一年的日期

或者更简单点的  date=`date -d
-${t}day '+%Y%m%d'` //为t为前几天

-减号是几天前,没有减号是几天后

date 笔记的更多相关文章

  1. JUC : 并发编程工具类的使用

    个人博客网:https://wushaopei.github.io/    (你想要这里多有) 一.JUC是什么 1.JUC定义 JUC,即java.util.concurrent 在并发编程中使用的 ...

  2. [原创]java WEB学习笔记61:Struts2学习之路--通用标签 property,uri,param,set,push,if-else,itertor,sort,date,a标签等

    本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...

  3. Android学习笔记1 android adb启动失败问题 adb server is out of date. killing...

    下面是Android的学习笔记,原文地址. 我是使用adb devices出现如下红字错误, 使用第一种方法方法,结果关掉豌豆荚就可以了. android adb启动失败问题 adb server i ...

  4. JavaScript学习笔记(十五)——对象之Date,RegExp

    在学习廖雪峰前辈的JavaScript教程中,遇到了一些需要注意的点,因此作为学习笔记列出来,提醒自己注意! 如果大家有需要,欢迎访问前辈的博客https://www.liaoxuefeng.com/ ...

  5. Java开发笔记(三十九)日期工具Date

    Date是Java最早的日期工具,编程中经常通过它来获取系统的当前时间.当然使用Date也很简单,只要一个new关键字就能创建日期实例,就像以下代码示范的那样: // 创建一个新的日期实例,默认保存的 ...

  6. NET MVC全局异常处理(一) 【转载】网站遭遇DDoS攻击怎么办 使用 HttpRequester 更方便的发起 HTTP 请求 C#文件流。 Url的Base64编码以及解码 C#计算字符串长度,汉字算两个字符 2019周笔记(2.18-2.23) Mysql语句中当前时间不能直接使用C#中的Date.Now传输 Mysql中Count函数的正确使用

    NET MVC全局异常处理(一)   目录 .NET MVC全局异常处理 IIS配置 静态错误页配置 .NET错误页配置 程序设置 全局异常配置 .NET MVC全局异常处理 一直知道有.NET有相关 ...

  7. [JS]笔记13之Date对象

    -->获取与设置时间的方法-->使用Date对象制作相应的效果 1.设置时间创建一个时间对象 new Date(time); 设置时间 time 从1970年1月1日至几种格式:new D ...

  8. 【java学习笔记】字符串和Date的转换

    String dateVal = "1992-12-06 18:34:23"; SimpleDateFormat sdf = new SimpleDateFormat(" ...

  9. JavaScript学习笔记-new Date() 与 Date() 的区别

    var today1 = Date() //返回一个字符串(string),没有getDate等日期对象方法,内容为当前时间 var today2 = new Date() //返回一日期对象,内容为 ...

随机推荐

  1. I love sneakers!(分组背包HDU3033)

    I love sneakers! Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) ...

  2. Boring count(字符串处理)

    Boring count Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total ...

  3. Maya Calendar 分类: POJ 2015-06-11 21:44 12人阅读 评论(0) 收藏

    Maya Calendar Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 70016   Accepted: 21547 D ...

  4. cmake安装的软件要怎么卸载

    找到make install之后产生的这个文件install_manifest.txt里面有安装的所有东西的路径,删除它们即可.参考命令:cat install_manifest.txt | sudo ...

  5. InheritableThreadLocal原理

    转载:https://github.com/pzxwhc/MineKnowContainer/issues/20 介绍 InheritableThreadLocal 之前,假设对 ThreadLoca ...

  6. Jquery中的filter()详细说明和transition的用法

    filter() 方法将匹配元素集合缩减为匹配指定选择器的元素. 详细说明 如果给定表示 DOM 元素集合的 jQuery 对象,.filter() 方法会用匹配元素的子集构造一个新的 jQuery ...

  7. SGU 105 div.3 找规律

    There is sequence 1, 12, 123, 1234, ..., 12345678910, ... . Given first N elements of that sequence. ...

  8. Centos6.6 tar包安装JDK

    Linux CentOS 6.6安装JDK1.7 目录 1.下载JDK 2.卸载JDK 3.安装JDK 3.1..rpm后缀格式JDK安装方式 3.2..tar.gz后缀格式JDK安装方式 4.验证安 ...

  9. HDU 4997 Biconnected (状态压缩DP)

    题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=4997 题意:一个n个点的完全图中去掉一些边.求这个图有多少个子图是边双联通的.(就是去掉任意一条边之后 ...

  10. UVA 1292 十二 Strategic game

    Strategic game Time Limit:3000MS     Memory Limit:0KB     64bit IO Format:%lld & %llu Submit Sta ...