网站首页 > 技术文章 正文
1. date 命令简介
date 命令用于显示和设置(必须是 root 用户才能更改)系统日期和时间。默认情况下,date 命令显示系统时区的日期。kylin / UOS / CentOS 等 Linux各版本通用。
2. date 命令语法
2.1. 格式1
date [选项]
示例:
uroot@uos:~$ date --date="2 year ago"
2022年 01月 10日 星期一 21:37:23 CST
2.2. 格式2
date [+格式]
示例:
[root@centos ~]# date "+%Y 年,第 %u 周,第 %j 天"
2024 年,第 3 周,第 010 天
2.3. 格式3
date [-u] [MMDDhhmm[[CC]YY][.ss]]
[MMDDhhmm[[CC]YY][.ss]],分别对应月、日、时、分、年的前两位、年的后两位、秒
示例:
[root@centos ~]# date -u "01020304.59"
Tue Jan 2 03:04:59 UTC 2024
[root@centos ~]# date -u "010203042023.59"
Mon Jan 2 03:04:59 UTC 2023
3. 常用命令
3.1. date 查看当前日期时间
uroot@uos:~$ date
2024年 01月 10日 星期三 20:56:53 CST
[root@kylin ~]# date
2024年 01月 10日 星期三 20:56:41 CST
[root@centos ~]# date
Wed Jan 10 20:56:47 CST 2024
其中 CST 是时区。
3.2. date -u 查看标准时间
# GMT (Greenwich Mean Time) or UTC (Coordinated Universal Time)
uroot@uos:~$ date -u
2024年 01月 10日 星期三 13:27:52 UTC
[root@centos ~]# date -u
Wed Jan 10 13:28:09 UTC 2024
[root@kylin ~]# date -u
2024年 01月 10日 星期三 13:25:19 UTC
3.3. date +%{格式说明符} 按指定的格式显示当前时间
[root@centos ~]# date "+%Y 年,第 %u 周,第 %j 天"
2024 年,第 3 周,第 010 天
[root@centos ~]# date "+%A %B %d %T %y"
Wednesday January 10 22:00:44 24
uroot@uos:~$ date "+%D %T"
01/10/24 21:57:59
uroot@uos:~$ date "+%Y-%m-%d"
2024-01-10
uroot@uos:~$ date "+%A %B %d %T %y"
星期三 一月 10 21:59:00 24
# 显示12小时制时间
uroot@uos:~$ date +%r
下午 10时17分10秒
3.4. date --date="2024/1/1 8:8:8" 把给定字符串按日期时间格式显示
[root@kylin ~]# date --date="2024/1/1 8:8:8"
2024年 01月 01日 星期一 08:08:08 CST
[root@kylin ~]# date --date="2024/1/1"
2024年 01月 01日 星期一 00:00:00 CST
[root@centos ~]# date --date="2024/1/1 8:8:8"
Mon Jan 1 08:08:08 CST 2024
[root@centos ~]# date --date="2024/1/1"
Mon Jan 1 00:00:00 CST 2024
uroot@uos:~$ date --date="2024/1/1 8:8:8"
2024年 01月 01日 星期一 08:08:08 CST
uroot@uos:~$ date --date="2024/1/1"
2024年 01月 01日 星期一 00:00:00 CST
3.5. date --date="2 year ago" 显示过去的时间
uroot@uos:~$ date --date="2 year ago"
2022年 01月 10日 星期一 21:37:23 CST
uroot@uos:~$ date --date="2 week ago"
2023年 12月 27日 星期三 21:37:54 CST
uroot@uos:~$ date --date="2 day ago"
2024年 01月 08日 星期一 21:38:15 CST
uroot@uos:~$ date --date="2 sec ago"
2024年 01月 10日 星期三 21:38:43 CST
uroot@uos:~$ date --date="yesterday"
2024年 01月 09日 星期二 21:39:31 CST
3.6. date --date="next tue" 显示未来的时间
[root@centos ~]# date
Wed Jan 10 21:42:00 CST 2024
[root@centos ~]# date --date="next tue"
Tue Jan 16 00:00:00 CST 2024
[root@centos ~]# date --date="2 day"
Fri Jan 12 21:42:46 CST 2024
[root@centos ~]# date --date="tomorrow"
Thu Jan 11 21:44:32 CST 2024
3.7. date -r {file} 查看文件最后修改时间
touch 命令可以改变最后修改时间戳。
[root@centos ~]# date -r anaconda-ks.cfg
Sun Dec 17 03:53:41 CST 2023
[root@centos ~]# touch anaconda-ks.cfg
[root@centos ~]# date -r anaconda-ks.cfg
Wed Jan 10 21:48:19 CST 2024
4. date 详细说明
date 命令详解如下:
用法:date [选项] [+格式]
date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]
以给定的格式显示当前时间,或者设置系统时间。
必选参数对长短选项同时适用。
-d, --date=字符串 显示给定“字符串”描述的时间,而非“当前时间”
--debug 对解析的日期添加注释,对不规范的使用方式进行警告,并输出警告信息到标准错误
-f, --file=日期文件 类似 --date;使用给定“日期文件”,一次处理一行
-I[FMT], --iso-8601[=FMT] 以 ISO8601 格式输出日期/时间。FMT='date' 时只输出日期(默认行为),
当其为 'hours'、'minutes'、'seconds' 或 'ns' 时
则按照所指示的精确度显示日期和时间。示例:2006-08-14T02:34:56-06:00
-R, --rfc-email 以 RFC5322 格式输出日期和时间。
例如:Mon, 14 Aug 2006 02:34:56 -0600
--rfc-3339=格式 以 RFC3339 格式输出日期/时间。
“格式”字符串可以是'date'、'seconds' 或 'ns',
用于指定日期和时间显示的精确度。例如:2006-08-14 02:34:56-06:00
-r, --reference=文件 显示指定<文件>的最后修改时间
-s, --set=字符串 按照给定<字符串>描述的时间来设置时间
-u, --utc, --universal 按照协调世界时(UTC)显示或设置时间
格式输出控制符,含义如下:
%% 一个文字的 %
%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 完整日期格式,等价于 %+4Y-%m-%d
%g ISO-8601 格式年份的最后两位(参见 %G)
%G ISO-8601 格式年份(参见 %V),一般只和 %V 结合使用
%h 等于%b
%H 小时(00-23)
%I 小时(00-12)
%j 按年计的日(001-366)
%k 小时,空格补充空白位( 0..23);与 %_H 相同
%l 小时,空格补充空白位( 1..12);与 %_I 相同
%m 月份(01..12)
%M 分钟(00..59)
%n 换行
%N 纳秒(000000000..999999999)
%p 当前地区时间设置中 AM 或 PM 的等效值(“上午”或“下午”),未知则为空
%P 类似 %p,但使用小写
%q 一年中的季度(1..4)
%r 当前地区时间中十二小时制钟表时间(例如,下午 11时11分04秒)
%R 24 小时制的时间和分钟;和 %H:%M 相同
%s 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)
默认情况下,日期的数字区域以0填充。
以下可选标记可以跟在"%"后:
- (连字符)不填充该域
_ (下划线)以空格填充
0 (数字0)以 0 填充
+ 以零填充,并且在大于四个数位的未来年份之前放置 '+' 符号
^ 如果可能,使用大写字母
# 如果可能,使用相反的大小写
在任何标记之后还允许一个可选的域宽度指定,它是一个十进制数字。
作为一个可选的修饰声明,它可以是E,在可能的情况下使用本地环境关联的
表示方式;或者是O,在可能的情况下使用本地环境关联的数字符号。
示例:
将 epoch(1970-01-01 UTC)以来的秒数转换为日期
$ date --date='@2147483647'
显示美国东海岸的当前时间(请使用 tzselect(1) 来查询 TZ 的具体数值)
$ TZ='America/Los_Angeles' date
显示美国东海岸下一个星期五当地时间早上九点
$ date --date='TZ="America/Los_Angeles" 09:00 next Fri'
enjoy[啤酒][啤酒][啤酒]
- 上一篇: Pr基础知识
- 下一篇: C语言学习笔记系列—第三章
猜你喜欢
- 2025-01-11 C语言变量和常量
- 2025-01-11 文档段落异常怎么办?
- 2025-01-11 wxPython - 给菜单添加图标和快捷键
- 2025-01-11 使用 Python 开发一个 Python 解释器
- 2025-01-11 Linux系统中最常用的文本显示工具:cat命令
- 2025-01-11 Word中如何快速对齐ABCD选项?
- 2025-01-11 编写一个自动生成双色球号码的 Python 小脚本
- 2025-01-11 Python-九九乘法表
- 2025-01-11 关于Java正则和转义中\\和\\\\的理解
- 2025-01-11 干货丨零基础如何学习 R 语言?
- 最近发表
- 标签列表
-
- cmd/c (64)
- c++中::是什么意思 (83)
- 标签用于 (65)
- 主键只能有一个吗 (66)
- c#console.writeline不显示 (75)
- pythoncase语句 (81)
- es6includes (73)
- sqlset (64)
- windowsscripthost (67)
- apt-getinstall-y (86)
- node_modules怎么生成 (76)
- chromepost (65)
- c++int转char (75)
- localstorage.removeitem (74)
- vector线程安全吗 (70)
- & (66)
- java (73)
- org.redisson (64)
- js数组插入 (83)
- gormwherein (64)
- linux删除一个文件夹 (65)
- mac安装java (72)
- eacces (67)
- 查看mysql是否启动 (70)
- 无效的列索引 (74)