【Linux】时间戳指令(date)

服务器 0

一、指令说明

1、指令格式

date [选项] [+格式]

2、选项说明

选项说明
-d, --date=STRING显示由STRING描述的时间,而不是当前时间
-f, --file=DATEFILE将文件中的每一行时间进行显示,相当于执行多条-d
-I[TIMESPEC], --iso-8601[=TIMESPEC]以ISO 8601格式输出日期,使用TIMESPEC进行精度的指定,TIMESPEC可选范围有{‘date’,‘hours’,‘minutes’,‘seconds’,‘ns’},默认取值为‘date’
-r, --reference=FILE显示FILE最后一次修改的时间戳
-R, --rfc-2822以RFC8601格式输出日期,Example:Mon, 07 Aug 2006 12:34:56 +0800
–rfc-3339=TIMESPEC以RFC 3339格式输出日期,使用TIMESPEC进行精度的指定,TIMESPEC可选范围有{‘date’,‘seconds’,‘ns’}
-s, --set=STRING设置系统时间为STRING
-u, --utc, --universal打印或设置协调世界时(UTC)
–help显示此帮助并退出
–version输出版本信息并退出

3、格式说明

格式

二、常用功能

1、时间查询

a)可以通过描述一个日期查询相关星期信息:

  • 使用 -d 选项进行查询

    [root@host ~]# date -d "2020-12-12"Sat Dec 12 00:00:00 CST 2020[root@host ~]# date -d "2020-12-12 22:01:08"Sat Dec 12 22:01:08 CST 2020
  • 使用 -f 选项进行统一查询

    [root@host ~]# cat testfile.txt2020-01-012022-02-02 10:23:24[root@host ~]# date -f testfile.txtWed Jan 1 00:00:00 CST 2020Wed Feb 2 10:23:24 CST 2022

b) 按照指定时间精度进行显示

  • 使用 -I 选项进行查询

    [root@host ~]# date -I2023-05-11[root@host ~]# date -Idate2023-05-11[root@host ~]# date -Ihours2023-05-11T11+0800[root@host ~]# date -Iminutes2023-05-11T11:02+0800[root@host ~]# date -Iseconds2023-05-11T11:02:15+0800[root@host ~]# date -Ins2023-05-11T11:02:20,218557849+0800
  • 使用 -R 选项进行查询

    [root@host ~]# date -RThu, 11 May 2023 11:00:17 +0800
  • 使用 --rfc-3339=TIMESPEC 选项进行查询

    [root@host ~]# date --rfc-3339=date2023-05-11[root@host ~]# date --rfc-3339=seconds2023-05-11 10:56:27+08:00[root@host ~]# date --rfc-3339=ns2023-05-11 10:56:32.000969769+08:00

b) 按照指定格式进行显示

  • 只显示日期信息

    [root@host ~]# date +%F2023-05-11[root@host ~]# date +%D05/11/23[root@host ~]# date +%x05/11/2023[root@host ~]# date +%Y_%m_%d2023_05_11[root@host ~]# date +%Y%m%d20230511
  • 只显示星期信息

    [root@host ~]# date +%aSun[root@host ~]# date +%ASunday[root@host ~]# date +%u7[root@host ~]# date +%w0
  • 只显示时间信息

    [root@host ~]# date +%T         //当前时区24小时制时间14:02:12[root@host ~]# date +%X         //格林威治时区24小时制时间02:02:17 PM[root@s145 ~]# date +%r         //当前时区12小时制时间02:02:58 PM[root@host ~]# date +%R         //当前时区24小时制时间14:05
  • 只显示时区信息

    [root@host ~]# date +%z+0800[root@host ~]# date +%ZCST
  • 分行显示

    [root@host ~]# date +%F%n%T2023-05-1114:12:12

c)按照世界统一时间进行显示

  • 使用 -u 选项进行查询

    [root@host ~]# dateThu May 11 10:11:12 CST 2023[root@host ~]# date -uThu May 11  02:11:13 UST 2023

2、设置系统时间

[root@host ~]# date -s "10:11:12 20230101"Sun Jan 1 10:11:12 CST 2023[root@host ~]# dateSun Jan 1 10:11:12 CST 2023

3、查询文件修改时间

[root@host ~]# date -r testfile.txtThu May 11 17:50:36 CST 2023

也许您对下面的内容还感兴趣: