1. 命令简介
date 命令用来显示或设置系统日期与时间,除了这些,它还有很多其他用法,迫不及待想了解吧!来吧,brother,让我们一起来了解下。
2. 英文含义
date:日期的意思,好记省事!!!
3. 语法格式
date [选项]... [+格式]
或者
date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]
4. 选项说明
- -d 时间字符串:显示字符串所指的日期与时间,字符串须加双引号
- -s 时间字符串:设置指定的系统的日期与时间,字符串须加双引号
- -u:显示目前的格林威治时间(GMT)
- –version:显示版本信息
- –help:在线帮助
5. 格式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)
%j 按年计的日期(001-366)
%k hour, space padded ( 0..23); same as %_H
%l hour, space padded ( 1..12); same as %_I
%m month (01..12)
%M minute (00..59)
%n a newline
%N nanoseconds (000000000..999999999)
%p locale's equivalent of either AM or PM; blank if not known
%P like %p, but lower case
%q quarter of year (1..4)
%r locale's 12-hour clock time (e.g., 11:11:04 PM)
%R 24-hour hour and minute; same as %H:%M
%s seconds since 1970-01-01 00:00:00 UTC
%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)
5. 示例说明
显示系统时间(最基础)
[root@iZ ~]# date
2021年 11月 30日 星期二 22:27:39 CST
显示目前的格林威治时间(GMT)
[root@iZ ~]# date -u
2021年 11月 30日 星期二 14:35:29 UTC
显示版本信息
[root@iZbp1d8rn0652ia3bzzmioZ ~]# date --version
date (GNU coreutils) 8.30
Copyright (C) 2018 Free Software Foundation, Inc.
许可证 GPLv3+:GNU 通用公共许可证第 3 版或更新版本<https://gnu.org/licenses/gpl.html>。
本软件是自由软件:您可以自由修改和重新发布它。
在法律范围内没有其他保证。
由David MacKenzie 编写
格式化显示当前时间
# %D 按月计的日期;等于%m/%d/%y
[root@iZ ~]# date +%D
11/30/21
# %F 完整日期格式,等价于 %Y-%m-%d
[root@iZ ~]# date +%F
2021-11-30
# %T 时间,等于%H:%M:%S
[root@iZ ~]# date +%T
22:43:33
# %A 当前locale 的星期名全称 (如:星期日)
[root@iZ ~]# date +%A
星期二
自定义格式输出时间
# date "+现在时间是: %Y-%m-%d %H:%M:%S"
[root@iZ ~]# date "+现在时间是:%Y-%m-%d %H:%M:%S"
现在时间是:2021-11-30 22:48:39
使用 -d 用法介绍(时间输出)
# 显示21秒前的时间
[root@iZ ~]# date -d "21 second ago"
2021年 11月 30日 星期二 22:49:53 CST
# 显示后一天的日期
[root@iZb ~]# date -d "+1 day" +%Y-%m-%d
2021-12-01
# 显示前一天的日期
[root@iZ ~]# date -d "-1 day" +%Y-%m-%d
2021-11-29
使用 -s 用法介绍(设置时间)
# 当前系统时间设置为2155年2月28日:
[root@iZ ~]# date -s 02/28/2155
2155年 02月 28日 星期五 00:00:00 CST
# 将系统时间设置为21点21分21秒的命令
[root@iZ ~]# date -s 21:21:21
2155年 02月 28日 星期五 21:21:21 CST
好了,今天的学习就到这里!欢迎大家留言区参与交流与讨论,原创不易,欢迎收藏与转发支持!