Linux中date命令详解

服务器 0

Linux命令系列详解---------date命令详解

文章目录

  • Linux命令系列详解---------date命令详解
  • 前言
  • 一、date命令简介
  • 二、使用示例
    • 1.获取命令帮助
    • 2.查看命令版本
    • 3.查看系统日期及时间
    • 4.以YYYY-MM-DD显示日期
    • 5.以MM/DD/YY显示日期
    • 6.以MM/DD/YYYY显示日期
    • 7.获取系统年份、月份、日期
    • 8.获取系统星期
    • 9.获取系统时区
    • 10.查询当前日期是一年中的第几周
    • 11.获取系统时间
    • 12.显示十二小时制时间
    • 13.显示24小时制时间
    • 14.按照指定样式显示时间
    • 15.从 1970 年 1 月 1 日 00:00:00 UTC 到目前为止的秒数
    • 16.修改系统时间
    • 17.修改时间及日期
    • 18.按照指定格式内容显示时间和日期
    • 19.日期和时间分行显示
    • 20.按照字符串的设置显示日期
  • 三、使用语法及参数说明
    • 1.使用语法
    • 2.参数说明
    • 3.参数说明
    • 4.日期格式符号


前言

Linux date命令可以用来显示或设定系统的日期与时间。

一、date命令简介

在显示方面使用者可以设定欲显示的格式,格式设定为一个加号后接数个标记。在备份文件的时候我们常结合此命令生成当前日期和时间的文件名。格式符前面以+加号开头,若是不以加号作为开头,则表示要设定时间,而时间格式为 MMDDhhmm[[CC]YY][.ss],其中 MM 为月份,DD 为日,hh 为小时,mm 为分钟,CC 为年份前两位数字,YY 为年份后两位数字,ss 为秒数。

二、使用示例

1.获取命令帮助

[root@localhost ~]# date --help

2.查看命令版本

[root@localhost ~]# date --version
date (GNU coreutils) 5.97
Copyright © 2006 Free Software Foundation, Inc.
This is free software. You may redistribute copies of it under the terms of
the GNU General Public License http://www.gnu.org/licenses/gpl.html.
There is NO WARRANTY, to the extent permitted by law.
Written by David MacKenzie.

3.查看系统日期及时间

[root@localhost ~]# date
Sun Apr 9 01:48:14 EDT 2023

4.以YYYY-MM-DD显示日期

[root@localhost ~]# date +%F
2023-04-09

5.以MM/DD/YY显示日期

[root@localhost ~]# [root@testserver ~]# date +%D
04/09/23

6.以MM/DD/YYYY显示日期

[root@localhost ~]# date +%x
04/09/2023

7.获取系统年份、月份、日期

[root@localhost ~]# date +%Y
2023
[root@localhost ~]# date +%m
04
[root@localhost ~]# date +%d
09

8.获取系统星期

[root@localhost ~]# date +%a
Sun
[root@localhost ~]# date +%A
Sunday
[root@localhost ~]# date +%u
7
[root@localhost ~]# date +%w
0

9.获取系统时区

[root@localhost ~]# date +%z
-0400
[root@localhost ~]# date +%Z
EDT

10.查询当前日期是一年中的第几周

[root@localhost ~]# date +%W
14
[root@localhost ~]# date +%U
15

11.获取系统时间

[root@localhost ~]# date +%T
01:57:48
[root@localhost ~]# date +%X
01:57:51 AM

12.显示十二小时制时间

[root@localhost ~]# date +%r
01:58:24 AM

13.显示24小时制时间

[root@localhost ~]# date +%R
01:58

14.按照指定样式显示时间

[root@localhost ~]# date +%H-%M.%S
01-59.19
[root@localhost ~]# date +%H.%M.%S
01.59.47

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

[root@localhost ~]# date +%s
1681020040

16.修改系统时间

[root@localhost ~]# date -s 02:02:10//修改系统时间
Sun Apr 9 02:02:10 EDT 2023

17.修改时间及日期

[root@localhost ~]# date -s “02:02:10 20230409” //修改时间和日期
Sun Apr 9 02:02:10 EDT 2023
[root@localhost ~]# date -s “20230409” //修改日期,未设置时间的,则默认为00:00:00
Sun Apr 9 02:02:10 EDT 2023
[root@localhost ~]#hwclock --set --date “2023-04-09 02:02:10” //修改硬件时间
Sun Apr 9 02:02:10 EDT 2023

18.按照指定格式内容显示时间和日期

[root@localhost ~]# date
Sun Apr 9 02:31:49 EDT 2023
[root@localhost ~]# date -d “00:00:00 1234-01-01”//按照格式输出时间1234年1月1日00:00;实际时间不会被修改
Sun Jan 1 00:00:00 LMT 1234
[root@localhost ~]# date -d “01:00:00 1234-01-01”//按照格式输出时间1234年1月1日01:00;实际时间不会被修改
Sun Jan 1 01:00:00 LMT 1234
[root@localhost ~]# date
Sun Apr 9 02:36:38 EDT 2023

19.日期和时间分行显示

[root@localhost ~]# date +%F%n%T
2023-04-09
02:04:02

20.按照字符串的设置显示日期

[root@localhost ~]# date -d “next month” +%Y-%m-%d//显示下个月今天的日期
2023-05-09
[root@localhost ~]# date -d “-2 month ago” +%Y-%m-%d//显示两个月后今天的日期,本处易混淆的地方是-2表示的是往后推,也就是时间正序,而+2的话,就是往前推,也就是以前的时间
2023-06-09
[root@localhost ~]# date -d “+2 year ago” +%Y-%m-%d//显示两年前今天的日期
2021-04-09
[root@localhost ~]# date -d “-2 year ago” +%Y-%m-%d//显示两年后今天的日期
2025-04-09

三、使用语法及参数说明

1.使用语法

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

2.参数说明

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

3.参数说明

符号符号说明
%打印%
%n下一行
%t跳格
%H小时(00…23)
%I小时(01…12)
%k小时(0…23)
%l小时(1…12)
%M分钟(00…59)
%p显示本地 AM 或 PM
%r直接显示时间 (12 小时制,格式为 hh:mm:ss [A/P]M)
%R24小时制方式显示时间,相当于%H:%M
%s从 1970 年 1 月 1 日 00:00:00 UTC 到目前为止的秒数
%S秒(00…60)
%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)

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