Linux中date命令用法
1、以下是服务器现在的时间,当前时间的各种表示方法,表示成自己想要的时间格式,后面的范例将会在这个时间基础之上进行演示,同时这也是熟练掌握后面各种date命令的前提,请读者注意
[root@RHEL601 tmp]# date
2012年 07月 19日 星期四 20:11:16 CST
读者可以设定特定的格式,格式设定规则:一个加号后接数个标记,每个标记中都有%,其中可用的标记列表和说明如下:
%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
Linux中date命令用法的更多相关文章
- Linux中date命令的各种实用方法--转载
在linux环境中,不管是编程还是其他维护,时间是必不可少的,也经常会用到时间的运算,自己也曾经为时间的各种表示方法和如何修改时间而困惑,熟练运用date命令来表示自己想要表示的时间,肯定可以给自己的 ...
- Linux中date命令的各种实用方法
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://521cto.blog.51cto.com/950229/935642 在linu ...
- linux中comm命令用法
linux系统中comm命令用法详解 linux系统下的comm命令是一个非常实用的文件对比命令. comm命令功能: 选择或拒绝两个已排序的文件的公共的行. comm命令语法:comm [-12 ...
- 【Linux】date命令用法详解(日期格式)
inux下date命令用法 date [OPTION]… [+FORMAT] date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]] date命令参数 ...
- linux中date命令显示昨天的日期信息?以特定格式显示时间?
需求描述: linux环境中,在使用date命令的时候,可以通过-d指定日期的字符串来显示日期 操作过程: 1.通过date显示昨天的日期 [root@redhat6 ~]# date -d 'yes ...
- linux中seq命令用法
NAME seq - print a sequence of numbers SYNOPSIS seq [OPTION]... LAST seq [OPTION]... FIRST LAST seq ...
- Linux中find命令用法大全
Linux 查找命令是Linux系统中最重要和最常用的命令之一.查找用于根据与参数匹配的文件指定的条件来搜索和查找文件和目录列表的命令.查找可以在各种条件下使用,您可以通过权限,用户,组,文件类型,日 ...
- linux中tar命令用法
把常用的tar解压命令总结下,当作备忘: tar -c: 建立压缩档案 -x:解压 -t:查看内容 -r:向压缩归档文件末尾追加文件 -u:更新原压缩包中的文件 这五个是独立的命令,压缩解压都要用到其 ...
- linux中wc命令用法
Linux系统中的wc(Word Count)命令的功能为统计指定文件中的字节数.字数.行数,并将统计结果显示输出. 1.命令格式: wc [选项]文件... 2.命令功能: 统计指定文件中的字节数. ...
随机推荐
- Autofac 依赖注入小知识
Autofac 依赖注入小知识 控制反转/依赖注入 IOC/DI 依赖接口而不依赖于实现,是面向对象的六大设计原则(SOLID)之一.即依赖倒置原则(Dependence Inversion Prin ...
- Go语言核心36讲(新年彩蛋)--学习笔记
新年彩蛋 | 完整版思考题答案 基础概念篇 Go 语言在多个工作区中查找依赖包的时候是以怎样的顺序进行的? 答:你设置的环境变量GOPATH的值决定了这个顺序.如果你在GOPATH中设置了多个工作区, ...
- Accelerating Deep Learning by Focusing on the Biggest Losers
目录 概 相关工作 主要内容 代码 Accelerating Deep Learning by Focusing on the Biggest Losers 概 思想很简单, 在训练网络的时候, 每个 ...
- 强强联袂!腾讯云TDSQL与国双战略签约,锚定国产数据库巨大市场
日前,腾讯云计算(北京)有限责任公司与北京国双科技有限公司签署了<国产数据库产品战略合作协议>,双方将在数据库技术方面展开深度合作,通过分布式交易型数据库的联合研发.产品服务体系建设.品牌 ...
- JavaScript交互式网页设计 • 【第1章 JavaScript 基本语法】
全部章节 >>>> 本章目录 1.1 JavaScript 概述 1.1.1 JavaScript 简介 1.1.2 JavaScript 的概念和执行原理 1.1.3 J ...
- Java链式调用
疯狂的类构造器Builder模式,链式调用 以swagger配置类为例 比如需要返回一个ApiInfo 的类,可以直接new一个ApiInfo,这样一般需要把参数都填上 或者,可以使用他的builde ...
- InnoDB学习(八)之 聚簇索引
InnoDB中,表数据文件本身就是以主键为索引的B+树,树的叶子节点存放一条条表数据,此索引树被称为表的聚簇索引.聚簇索引也称为聚集索引,聚类索引,簇集索引,聚簇索引确定表中数据的物理顺序. Inno ...
- xorm 条件查询时区的问题
问题描述:如果在查询的时候,直接传时间格式作为条件,时间会被驱动程序转为UTC格式,因此会有8个小时的误差. 解决方案1: 将查询时间转为字符串 db.where("time > ?& ...
- 初识python: 局部变量、全局变量
定义: 全局变量:在函数一开始定义的变量(全局范围内都可以使用) 局部变量:在函数中定义的变量(只能在函数中使用) 局部变量,例: #局部变量 def chang_name(name): print( ...
- Tool_BurpSuite安装和简单使用
一.安装 1.检查Java环境 Burp Suite是用Java语言开发的,运行时依赖于JRE,因此需要先配置Java环境.在CMD中输入java -version 出现下图的结果,证明已配置Java ...