Linux(7)RedHat7 基本命令六-date命令详解
2016-10-02 22:48
393 查看
导言
date命令
作用
用法
详细全选项参数解释
FORMAT解释
常用选项
d选项
s选项
f选项
r选项
总结
很多shell脚本里面需要打印不同格式的时间或日期,以及要根据时间和日期执行操作。延时通常用于脚本执行过程中提供一段等待的时间。日期可以以多种格式去打印,也可以使用命令设置固定的格式。在类UNIX系统中,日期被存储为一个整数,其大小为自世界标准时间(UTC)1970年1月1日0时0分0秒起流逝的秒数。
默认情况下,日期的数字区域以0 填充。
下面可选的标志可能跟在‘%’后:
- (连字号) 不填补域
_ (下划线)用空格填补
0 用0来填补
^ 尽可能使用大写字母
# 尽可能使用小写
在任何标记之后还允许一个可选的域宽度指定,它是一个十进制数字。
作为一个可选的修饰声明,它可以是E,在可能的情况下使用本地环境关联的表示方式;或者是0,在可能的情况下使用本地环境关联的数字符号。
本例子不截图
date命令
作用
用法
详细全选项参数解释
FORMAT解释
常用选项
d选项
s选项
f选项
r选项
总结
导言
前面时间段,学习了一个hwclock命令和clock命令的语法,本文主要是介绍date命令,这个命令也是十分常见的。很多shell脚本里面需要打印不同格式的时间或日期,以及要根据时间和日期执行操作。延时通常用于脚本执行过程中提供一段等待的时间。日期可以以多种格式去打印,也可以使用命令设置固定的格式。在类UNIX系统中,日期被存储为一个整数,其大小为自世界标准时间(UTC)1970年1月1日0时0分0秒起流逝的秒数。
date命令
作用
用给出的FORMAT(格式)显示当前时间,或设置系统时间(日期)
用法
date [选项]... [+格式] date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]
详细全选项参数解释
短选项 | 长选项 | 含义(作用) |
---|---|---|
-d | --date=STRING | 显示字符串所指的日期与时间,而不是‘now’这种字符串。字符串前后必须加上双引号; STRING是比较随性的可读的字符串,比如说“2012-06-16 18:31:00”或者“next Thursday”,这个字符串通常包含日历时间、时间、星期、日期、相对时间,相对日期或者数字。 |
-f | --file=DATEFILE | 类似–date参数显示DATEFILE文件中的每行时间; 和-date参数类似,对文件DATEFILE里的每一行做date -d操作; 意思就是DATEFILE每一行都写着时间,从文件中每读出一行,并将时间以date -d ‘[每一行的内容]’ |
-I[TIMESPEC] | --iso-8601[=TIMESPEC] | 以ISO 8601 格式显示日期/时间。默认情况下,TIMESPEC值为‘date’(只显示日期),’hours’, ‘minutes’, or ‘seconds’对日期和时间显示相应的精度 |
-r | --reference=文件 | 显示文件指定文件的最后修改时间 |
-R | --rfc-2822 | 以RFC 2822格式输出日期和时间 例如:2016年10月2日,星期日 19:54:56 -0600 |
--rfc-3339=TIMESPEC | 以RFC 2822格式输出日期和时间。 对日期和时间显示相应的精度,TIMESPEC可取值’date’, ‘seconds’, 或’ns’。时间和日期的组件被单一的空格说分隔,比如“ 2016-10-02 19:54:56-06:00” | |
-s | --set=STRING | 以STRING的描述内容设置系统时间 |
-u | --utc或 --universal | 显示或设定为Coordinated Universal Time(UTC)时间格式 |
--help | 显示此帮助信息并退出 | |
--version | 显示版本信息并退出 |
FORMAT解释
给定的格式FORMAT 控制着输出,解释序列如下:格式 | 解释 | 实例 |
---|---|---|
%% | 一个文字的 % | % |
%a | 当前locale 的星期名缩写(例如: 日,代表星期日) | Sun |
%A | 当前locale 的星期名全称 (如:星期日) | Sunday |
%b | 当前locale 的月名缩写 (如:一,代表一月) | Oct |
%B | 当前locale 的月名全称 (如:一月) | October |
%c | 当前locale 的日期和时间 (如:2005年3月3日 星期四 23:05:25) | Sun 02 Oct 2016 09:25:55 PM CST |
%C | 世纪;比如 %Y,通常为省略当前年份的后两位数字(例如:20) | 20 |
%d | 按月计的日期(例如:01) | 01 |
%D | 按月计的日期;等于%m/%d/%y | 10/02/16 |
%e | 按月计的日期,添加空格,等于%_d | 2 |
%F | 完整日期格式,等价于 %Y-%m-%d | 2016-10-02 |
%g | ISO-8601 格式年份的最后两位 (参见%G) | 16 |
%G | ISO-8601 格式年份 (参见%V),一般只和 %V 结合使用 | 2016 |
%h | 等于%b | Oct |
%H | 小时(00-23) | 21 |
%I | 小时(00-12) | 09 |
%j | 按年计的日期(001-366) | 276 |
%k | 按小时计的日期,空格补充( 0..23)[解释,不足两位补充0为两位],等于%_H | 21 |
%l | 按小时计的日期,添加空格( 0..12)[解释,不足两位补充0为两位] | 9 |
%m | 月(01..12) | 10 |
%M | 分钟 (00..59) | 04 |
%n | 换行 | |
%N | 纳秒(000000000-999999999) | 960061182 |
%p | 当前locale 下的”上午”或者”下午”,未知时输出为空 | PM |
%P | 与%p 类似,但是输出小写字母 | pm |
%r | 当前locale 下的 12 小时时钟时间 (如:11:11:04 下午) | 09:27:02 PM |
%R | 24 小时时间的时和分,等价于 %H:%M | 21:27 |
%s | 自UTC 时间 1970-01-01 00:00:00 以来所经过的秒数 | 1475414279 |
%S | 秒(00-60) | 46 |
%t | 输出制表符 Tab | |
%T | 时间,等于%H:%M:%S | 21:19:46 |
%u | 星期,1 代表星期一 | 7 |
%U | 一年中的第几周,以周日为每星期第一天(00-53) | 40 |
%V | ISO-8601 格式规范下的一年中第几周,以周一为每星期第一天(01-53) | 39 |
%w | 一星期中的第几日(0-6),0 代表周一 | 6 |
%W | 一年中的第几周,以周一为每星期第一天(00-53) | 39 |
%x | 当前locale 下的日期描述 (如:12/31/99) | 10/02/2016 |
%X | 当前locale 下的时间描述 (如:23:13:48) | 09:27:48 PM |
%y | 年份最后两位数位 (00-99) | 16 |
%Y | 年份 | 2016 |
%z | +hhmm数字时区(例如,-0400) | +0800 |
%:z | +hh:mm数字时区(例如,-04:00) | +08:00 |
%::z | 数字时区(例如,-04:00:00) | +08:00:00 |
%:::z | 数字时区带有必要的精度 (例如,-04,+05:30) | +08 |
%Z | 按字母表排序的时区缩写 (例如,EDT) | CST |
下面可选的标志可能跟在‘%’后:
- (连字号) 不填补域
_ (下划线)用空格填补
0 用0来填补
^ 尽可能使用大写字母
# 尽可能使用小写
在任何标记之后还允许一个可选的域宽度指定,它是一个十进制数字。
作为一个可选的修饰声明,它可以是E,在可能的情况下使用本地环境关联的表示方式;或者是0,在可能的情况下使用本地环境关联的数字符号。
常用选项
d选项
显示字符串所指的日期与时间# 将从1970-01-01 UTC流逝的秒数转变成日期 [root@tqw tqw]# date --date='@2147483647' Tue Jan 19 11:14:07 CST 2038 # 显示2014-05-02表示的日期 [root@tqw tqw]# date -d 2014-05-02 Fri May 2 00:00:00 CST 2014 [root@tqw tqw]# date --date=2014-05-02 Fri May 2 00:00:00 CST 2014 # 显示在美国的西海岸下周五9点的时间的当地时间 [tqw@localhost etc]$ date --date='TZ="America/Los_Angeles" 09:00 next Fri' 2016年 10月 08日 星期六 00:00:00 CST
s选项
以STRING的描述内容设置系统时间#" "表示空格字符,-s 2015-10-03" "18:17:00设置2015-10-03 18:17:00为系统时间 #使用+%Y-%m-%d%" "%H:%M:%S指定2015-10-03 18:17:00的日期格式 [root@localhost ~]# date -s 2015-10-03" "18:17:00 +%Y-%m-%d%" "%H:%M:%S 2015-10-03% 18:17:00 #使用长命令方式设置 [root@localhost ~]# date --set=2015-10-03" "18:17:00 +%Y-%m-%d%" "%H:%M:%S 2015-10-03% 18:17:00
本例子不截图
f选项
类似–date参数显示DATEFILE文件中的每行时间;#以下是文件中的内容 test 2016-10-01 22:37:00 2016-10-01 22:40:00 2016-10-01 22:50:08 # 将上诉内容写入文件 [root@tqw tqw]# touch test [root@tqw tqw]# vim test #逐行读取日期字符串并输出 [root@tqw tqw]# date -f test Sat Oct 1 22:37:00 CST 2016 Sat Oct 1 22:40:00 CST 2016 Sat Oct 1 22:50:08 CST 2016 [root@tqw tqw]# date --file=test Sat Oct 1 22:37:00 CST 2016 Sat Oct 1 22:40:00 CST 2016 Sat Oct 1 22:50:08 CST 2016
r选项
显示文件指定文件的最后修改时间# 显示文件的最后修改时间 [root@tqw tqw]# date -r test Sun Oct 2 22:39:03 CST 2016 [root@tqw tqw]# date --reference=test Sun Oct 2 22:39:03 CST 2016
总结
本文介绍了date的全选项命令,并介绍了一些用法,date是很实用的命令,各位可以自行熟练使用。相关文章推荐
- Linux(4)RedHat7 基本命令三-pwd命令详解
- Linux(8)RedHat7 基本命令七-shutdown命令详解
- Linux(3)RedHat7 基本命令二-ls命令详解
- Linux(6)RedHat7 基本命令五-hwclock(clock)命令详解
- Linux(5)RedHat7 基本命令四-cd命令详解
- Linux基本常用命令之ls详解(含date,cal)
- (转)linux date 命令详解
- linux Date命令详解
- linux date 命令详解
- LINUX基本命令详解第一弹ls
- Linux】date命令用法详解(
- Linux系统基本命令详解
- linux命令详解date使用方法(计算母亲节和父亲节日期脚本示例)
- linux下date命令详解
- linux下date命令详解
- Date命令详解——如何设置linux系统时间
- linux下date命令详解
- Linux常用的基本命令(Red Hat)详解
- linux date命令参数及用法详解--linux查看修改系统时间
- Linux基本命令-date,cal,bc,man,无线路由器连接上网