目 录CONTENT

文章目录

Linux date命令详解

vanegoo
2024-04-23 / 0 评论 / 0 点赞 / 12 阅读 / 4480 字 / 正在检测是否收录...

功能

用来显示或设定系统的日期与时间。

用法

date [选项]... [+格式]

常用选项

-d,--date=字符串              显示指定字符串所描述的时间,而非当前时间
-f,--file=日期文件            类似--date,从日期文件中按行读入时间描述
-r, --reference=文件          显示文件指定文件的最后修改时间
-R, --rfc-2822                以RFC 2822格式输出日期和时间
                              例如:2006年8月7日,星期一 12:34:56 -0600
    --rfc-3339=TIMESPEC       以RFC 3339 格式输出日期和时间。
                              TIMESPEC=`date',`seconds',或 `ns' 
                              表示日期和时间的显示精度。
                              日期和时间单元由单个的空格分开:
                              2006-08-07 12:34:56-06:00
-s, --set=字符串              设置指定字符串时间
-u, --utc, --universal        输出或者设置协调的通用时间
    --help            显示此帮助信息并退出
    --version         显示版本信息并退出

日期格式字符串列表

%%    一个文字的 %
%H 小时(以00-23来表示)。 
%I 小时(以01-12来表示)。 
%K 小时(以0-23来表示)。 
%l 小时(以0-12来表示)。 
%M 分钟(以00-59来表示)。 
%P AM或PM。 
%r 时间(含时分秒,小时以12小时AM/PM来表示)。 
%s 总秒数。起算时间为1970-01-01 00:00:00 UTC。 
%S 秒(以本地的惯用法来表示)。 
%T 时间(含时分秒,小时以24小时制来表示)。 
%X 时间(以本地的惯用法来表示)。 
%Z 市区。 
%a 星期的缩写。 
%A 星期的完整名称。 
%b 月份英文名的缩写。 
%B 月份的完整英文名称。 
%c 日期与时间。只输入date指令也会显示同样的结果。 
%d 日期(以01-31来表示)。 
%D 日期(含年月日)。 
%j 该年中的第几天。 
%m 月份(以01-12来表示)。 
%U 该年中的周数。 
%w 该周的天数,0代表周日,1代表周一,异词类推。 
%x 日期(以本地的惯用法来表示)。 
%y 年份(以00-99来表示)。 
%Y 年份(以四位数来表示)。 
%n 在显示时,插入新的一行。 
%t 在显示时,插入tab。 
MM 月份(必要) 
DD 日期(必要) 
hh 小时(必要) 
mm 分钟(必要)
ss 秒(选择性)

常用命令示例

格式化输出

[root@demo ~]# date +%F
2024-04-23

[root@demo ~]# date +%y-%m-%d
24-04-23

[root@demo ~]# date +%Y-%m-%d\ %H:%M:%S
2024-04-23 02:06:53

[root@demo ~]# date +"%Y/%m/%d %H:%M:%S"
2024/04/23 00:04:45

时间同步

# 1.本地修改
date -s "2017/07/30 18:39"	# 设置时间
hwclock            			# 同步时间到shell
# 2.同步互联网时间
ntpdate time.windows.com   	# (ntpdate是一个内部的同步时间的代码)

-d 的一些操作

# 输出昨天的时间
[root@demo ~]# date -d "1 day ago" +"%Y-%m-%d"
2024-04-22

# 传说中的 1234567890 秒
[root@demo ~]# date -d "1970-01-01 1234567890 seconds" +"%Y-%m-%d %H:%m:%S"
2009-02-13 23:02:30

# 时间转换
[root@demo ~]# date -d "Apr 23, 2024 12:00:37 AM" +"%Y-%m-%d %H:%M.%S"
2024-04-23 00:00.37

# 加减操作
date +%Y%m%d               #显示当前年月日
date -d "+1 day" +%Y%m%d   #显示前一天的日期 
date -d "-1 day" +%Y%m%d   #显示后一天的日期 
date -d "-1 month" +%Y%m%d #显示上一月的日期 
date -d "+1 month" +%Y%m%d #显示下一月的日期 
date -d "-1 year" +%Y%m%d  #显示前一年的日期 
date -d "+1 year" +%Y%m%d  #显示下一年的日期

实用演示

检查一组命令花费的时间


#!/bin/bash
start=`date +%s`
nmap man.linuxde.net &> /dev/null
end=`date +%s`
difference=$(( end - start ))
echo $difference seconds. 

0

评论区