linux date命令使用教程

发布时间:2023-01-18 16:34:04 作者:yexindonglai@163.com 阅读(1003)

一、简介

Linux date命令可以用来显示或设定系统的日期与时间。在显示方面使用者可以设定欲显示的格式,格式设定为一个加号后接数个标记。在备份文件的时候我们常结合此命令生成当前日期和时间的文件名

1、使用语法

  1. # 用法
  2. date [参数选项] [+格式]
  3. # 或者
  4. date [-u|–utc|–universal] [MMDDhhmm[[CC]YY][.ss]]

2、参数说明

参数 参数说明
-d, —date=STRING 显示 datestr 中所设定的时间 (非系统时间)
-s, —set=STRING 将系统时间设为 datestr 中所设定的时间
-u, —utc, —universal 打印或设置协调世界时(UTC)
–version 显示版本编号
–help 显示辅助讯息

3、时间格式符号

符号 符号说明
% 打印出 %
%n 换行符,下一行显示
%t 跳格,相当于按下了TAB键
%H 小时(00…23)
%k 小时(0…23)
%l (小写的 L) 小时(1…12)
%I (大写的 i 小时(01…12)
%M 分钟(00…59)
%S 秒(00…60)
%p 显示本地 AM 或 PM
%r 直接显示时间 (12 小时制,格式为 hh:mm:ss [AP]M)
%R 24小时制方式显示时间,相当于%H:%M
%s 从 1970 年 1 月 1 日 00:00:00 UTC 到目前为止的秒数
%T 直接显示时间 (24 小时制)
%X 相当于 %H:%M:%S
%z 数字方式显示时区
%Z 字母缩写方式显示时区

4、日期格式符号

符号 符号说明
%a 星期几 ,缩写(Sun…Sat)
%A 星期几 ,完整英文星期(Sunday…Saturday)
%b 月份 (Jan…Dec)
%B 月份 (January…December)
%c 直接显示日期与时间
%d 日 (01…31)
%D 直接显示日期 (mm/dd/yy)
%e 一个月中的第几天,类似%_d
%F 完整的日期,相当于%Y-%m-%d
%h 同 %b
%j 一年中的第几天 (001…366)
%m 月份 (01…12)
%u 一周中的第几天 (1…7) (1是星期一)
%U 一年中的第几周 (00…53) (以 Sunday 为一周的第一天的情形)
%w 一周中的第几天 (0…6)(0是星期天)
%W 一年中的第几周 (00…53) (以 Monday 为一周的第一天的情形)
%x 直接显示日期 (mm/dd/yy)
%y 年份的最后两位数字 (00.99)
%Y 完整年份 (0000…9999)

二、举个栗子

1、查看系统时间

  1. [root@master ~]# date
  2. Wed Jan 18 16:15:51 CST 2023

2、以YYYY-MM-DD显示日期

  1. [root@master ~]# date +%F
  2. 2023-01-18

3、以MM/DD/YY显示日期

  1. [root@master ~]# date +%D
  2. 01/18/23

4、以MM/DD/YYYY显示日期

  1. [root@master ~]# date +%x
  2. 01/18/2023

5、获取系统年份、月份、日子

  1. [root@s145 ~]# date +%Y
  2. 2022
  3. [root@s145 ~]# date +%m
  4. 01
  5. [root@s145 ~]# date +%d
  6. 22

6、获取系统星期值

  1. [root@s145 ~]# date +%a
  2. Sat
  3. [root@s145 ~]# date +%A
  4. Saturday
  5. [root@s145 ~]# date +%u
  6. 6
  7. [root@s145 ~]# date +%w
  8. 6

7、获取系统时区

  1. [root@s145 ~]# date +%z
  2. +0800
  3. [root@s145 ~]# date +%Z
  4. CST

8、查询当前日期是今年中的第几周

  1. [root@s145 ~]# date +%W
  2. 03
  3. [root@s145 ~]# date +%U
  4. 03

9、获取系统时间

  1. [root@s145 ~]# date +%T
  2. 15:51:42
  3. [root@s145 ~]# date +%X
  4. 03:53:30 PM

10、显示12小时制时间

  1. [root@s145 ~]# date +%r
  2. 03:51:58 PM

11、显示24小时制时间

  1. [root@s145 ~]# date +%R
  2. 15:52

12、按照指定样式显示时间

  1. [root@s145 ~]# date +%H-%M.%S
  2. 15-55.07
  3. [root@s145 ~]# date +%H.%M.%S
  4. 15.55.10

13、从 1970 年 1 月 1 日 00:00:00 UTC 到目前为止的秒数

  1. [root@s145 ~]# date +%s
  2. 1642838148

14、设置系统时间 -s

  1. date -s 22:20:00

15、设置时间和日期 -s

  1. date -s "10:24:30 20240102"

16、按照指定格式显示日期和时间

  1. [root@master ~]# date -d "2022-01-01 22:22:22"
  2. Sat Jan 1 22:22:22 CST 2022

17、日期和时间分行显示

  1. [root@s145 ~]# date +%F%n%T
  2. 2022-01-22
  3. 16:36:51

18、按照字符串的设置显示日期

18.1、输出下个月的今天(今天日期是2023-01-17)
  1. [root@master ~]# date -d "next month" +%Y-%m-%d
  2. 2023-02-18
18.2、输出5个月前的日期
  1. [root@master ~]# date -d "-5 month" +%Y-%m-%d
  2. 2022-08-18
18.3、输出一年后的的日期
  1. [root@master ~]# date -d "+1 year" +%Y-%m-%d
  2. 2024-01-18
18.4、输出明天的日期
  1. [root@master ~]# date -d "+1 day" +%Y-%m-%d
  2. 2023-01-19

关键字linux