date 命令学习

文章目录

  • date 命令学习
    • 1. 命令简介
    • 2. 语法参数
      • 2.1 使用语法
      • 2.2 说明
      • 2.3 参数说明
    • 3. 使用案例
      • :arrow_right: 星期名缩写 %a
      • :arrow_right: 星期名全写 %A
      • :arrow_right: 月名缩写 %b
      • :arrow_right: 月名全称 %B
      • :arrow_right: 日期和时间 %c
      • :arrow_right: 世纪 %C
      • :arrow_right: 按日计的日期 %d
      • :arrow_right: 按日计的日期 %D
      • :arrow_right: 按日计的日期 %e
      • :arrow_right: 完整日期格式 %F
      • :arrow_right: ISO-8601 格式年份的最后两位 %g
      • :arrow_right: 显示月份 %h
      • :arrow_right: 小时(00-23) %H
      • :arrow_right: 小时(00-12) %I
      • :arrow_right: 按年计的日期(001-366) %j
      • :arrow_right: 小时,格式为( 0..23) %k
      • :arrow_right: 小时,格式为 ( 1..12) %l
      • :arrow_right: 月 (01..12) %m
      • :arrow_right: 分钟 (00..59) %M
      • :arrow_right: 纳秒 %N
      • :arrow_right: 上午或者下午 %p %P
      • :arrow_right: 显示文件最后修改时间
      • :arrow_right: 12 小时时钟时间 %r
      • :arrow_right: 24 小时时间的时和分 %R
      • :arrow_right: 自UTC 时间 1970-01-01 00:00:00 以来所经过的秒数 %s
      • :arrow_right: 秒(00-60) %S
      • :arrow_right: 时间 %T
      • :arrow_right: 星期 %u
      • :arrow_right: 一年中的第几周 %U
      • :arrow_right: ISO-8601 格式规范下的一年中第几周 %V
      • :arrow_right: 一星期中的第几日 %w
      • :arrow_right: 一年中的第几周 %W
      • :arrow_right: 日期描述 %x
      • :arrow_right: 时间描述 %X
      • :arrow_right: 年份最后两位数位 %y
      • :arrow_right: 年份 %Y
      • :arrow_right: 数字时区 %z
      • :arrow_right: 按字母表排序的时区缩写 %Z

date 命令学习

1. 命令简介

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

2. 语法参数

2.1 使用语法

用法:date [选项]... [+格式]或:date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]
Display the current time in the given FORMAT, or set the system date.Mandatory arguments to long options are mandatory for short options too.
-d, --date=STRING         display time described by STRING, not 'now'
-f, --file=DATEFILE       like --date once for each line of DATEFILE
-I[TIMESPEC], --iso-8601[=TIMESPEC]  output date/time in ISO 8601 format.TIMESPEC='date' for date only (the default),'hours', 'minutes', 'seconds', or 'ns' for dateand time to the indicated precision.
-r, --reference=文件		显示文件指定文件的最后修改时间
-R, --rfc-2822		以RFC 2822格式输出日期和时间例如:2006年8月7日,星期一 12:34:56 -0600--rfc-3339=TIMESPEC   output date and time in RFC 3339 format.TIMESPEC='date', 'seconds', or 'ns' fordate and time to the indicated precision.Date and time components are separated bya single space: 2006-08-07 12:34:56-06:00
-s, --set=STRING          set time described by STRING
-u, --utc, --universal    print or set Coordinated Universal Time (UTC)--help		显示此帮助信息并退出--version		显示版本信息并退出

2.2 说明

参数说明
-d, --date=STRING显示由STRING描述的时间,而不是“现在”,示例:date -d "-7 day" +%Y-%m-%d 显示七天前的日期
-f, --file=DATEFILE使用 -f 参数进行多行输出,示例:参考使用案例
-I[TIMESPEC]ISO 8601格式的输出日期/时间,示例:参考使用案例
-r, --reference=文件显示指定文件的最后修改时间,示例:参考使用案例
-R, --rfc-2822以RFC 2822格式输出日期和时间,示例:参考使用案例
-s, --set=STRING设置系统时间
–version显示版本编号
-u, --utc, --universal打印或设置协调世界时(UTC)
–help帮助

2.3 参数说明

使用格式:

date +[参数]
参数说明
%%输出结果为一个 % 字符
%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完整日期格式,等价于 %Y-%m-%d
%gISO-8601 格式年份的最后两位 (参见%G)
%GISO-8601 格式年份 (参见%V),一般只和 %V 结合使用
%h显示月份,等于%b
%H小时(00-23)
%I小时(00-12)
%j按年计的日期(001-366)
%k小时,格式为( 0…23); 和 %_H 相同
%l(小写L)小时,格式为 ( 1…12); 和 %_I(大写i) 相同
%m月 (01…12)
%M分钟 (00…59)
%n换行
%N纳秒(000000000-999999999)
%p当前locale 下的"上午"或者"下午",未知时输出为空
%P与%p 类似,但是输出小写字母
%r当前locale 下的 12 小时时钟时间 (如:11:11:04 下午)
%R24 小时时间的时和分,等价于 %H:%M
%s自UTC 时间 1970-01-01 00:00:00 以来所经过的秒数
%S秒(00-60)
%t输出制表符 Tab
%T时间,等于%H:%M:%S
%u星期,1 代表星期一
%U一年中的第几周,以周日为每星期第一天(00-53)
%VISO-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数字时区(例如,+0800)
%😒数字时区(例如,+08:00)
%:😒数字时区(例如,+08:00:00)
%::😒数字时区带有必要的精度 (例如,+08)
%Z按字母表排序的时区缩写 (例如,CST)

3. 使用案例

➡️ 星期名缩写 %a

[root@104 ~]# date +%a

➡️ 星期名全写 %A

[root@104 ~]# date +%A
星期二

➡️ 月名缩写 %b

[root@104 ~]# date +%b
1

➡️ 月名全称 %B

[root@104 ~]# date +%B
一月

➡️ 日期和时间 %c

[root@104 ~]# date +%c
2024年01月09日 星期二 10时14分46秒

➡️ 世纪 %C

年份除100后去整

注:date +%C 得到的结果通常为省略当前年份的后两位数字,示例:2024 年,得到的结果就是 20,但是 2024 年应该是 21 世纪,所以个人感觉这个参数没有太大的使用意义。

# 年份除100后去整
[root@104 ~]# date +%C
20

➡️ 按日计的日期 %d

[root@104 ~]# date +%d
09

➡️ 按日计的日期 %D

等于 date +%m/%d/%y

[root@104 ~]# date +%D
01/09/24

➡️ 按日计的日期 %e

添加空格,等于 %_d,将 09 中的 0 换成了空格

[root@104 ~]# date +%e9
[root@104 ~]# date +%_d9
# 和 %d 类似
[root@104 ~]# date +%d
09

➡️ 完整日期格式 %F

完整日期格式,等价于 %Y-%m-%d

[root@104 ~]# date +%F
2024-01-09

➡️ ISO-8601 格式年份的最后两位 %g

ISO-8601 格式年份的最后两位 (参见%G)

ISO-8601 格式年份 (参见%V),一般只和 %V 结合使用

[root@104 ~]# date +%g
24
[root@104 ~]# date +%G
2024

➡️ 显示月份 %h

显示月份,等于 %b

[root@104 ~]# date +%h
1

➡️ 小时(00-23) %H

[root@104 ~]# date +%H
16

➡️ 小时(00-12) %I

[root@104 ~]# date +%I
04

➡️ 按年计的日期(001-366) %j

[root@104 ~]# date +%j
009

➡️ 小时,格式为( 0…23) %k

小时,格式为( 0…23); 和 %_H 相同

[root@104 ~]# date +%k
16
[root@104 ~]# date +%_H
16

➡️ 小时,格式为 ( 1…12) %l

小时,格式为 ( 1…12); 和 %_I(大写i) 相同

[root@104 ~]# date +%l4
[root@104 ~]# date +%_I4

➡️ 月 (01…12) %m

date +%b 类似, date +%b 显示中文(一月)或者英文(Jan),date +%m 显示数字

[root@104 ~]# date +%m
01

➡️ 分钟 (00…59) %M

[root@104 ~]# date +%M
35

➡️ 纳秒 %N

纳秒(000000000-999999999)

[root@104 ~]# date +%N
595140186

➡️ 上午或者下午 %p %P

当前locale 下的"上午"或者"下午",未知时输出为空,中文模式下大写和小写 p 输出内容相同,英文模式下大写 p 输出小写 am 或者 pm,小写 p 输出大写 AM 或者 AM

# 小写 p
[root@104 ~]# date +%p
下午
[root@104 ~]# date +%p
PM# 大写 p
[root@104 ~]# date +%P
下午
[root@104 ~]# date +%P
pm

➡️ 显示文件最后修改时间

显示指定文件的最后修改时间

[root@localhost data]# date -r test
2024年 04月 19日 星期五 09:51:47 CST
[root@localhost data]# touch a.txt test/
[root@localhost data]# date -r test
2024年 04月 19日 星期五 09:52:09 CST
  • 扩展

使用 stat 命令:stat 命令可以显示文件属性的详细信息,比如最近一次访问和修改文件的时间、文件大小等信息,使用起来比较简单,命令后面只需要加上文件名就可以

[root@localhost data]# stat test/文件:"test/"大小:18        	块:0          IO 块:4096   目录
设备:fd00h/64768d	Inode:35280866    硬链接:2
权限:(0755/drwxr-xr-x)  Uid:(    0/    root)   Gid:(    0/    root)
最近访问:2024-04-19 10:03:49.204293669 +0800
最近更改:2024-04-19 10:04:52.295859636 +0800
最近改动:2024-04-19 10:04:52.295859636 +0800
创建时间:-

➡️ 12 小时时钟时间 %r

当前locale 下的 12 小时时钟时间 (如:下午 04时41分13秒)

# 中文格式
[root@104 ~]# date +%r
下午 04时41分13秒# 英文格式
[root@105 ~]# date +%r
05:05:35 PM

➡️ 24 小时时间的时和分 %R

[root@104 ~]# date +%R
17:06

➡️ 自UTC 时间 1970-01-01 00:00:00 以来所经过的秒数 %s

可以通过这个时间来计算两个时间段之间的差值

[root@104 ~]# date +%s
1704791232# 计算分,时,日,年	
[root@104 ~]# echo $(($(date +%s)/60/60/24/365))
54
# 计算月
[root@104 ~]# echo $((1704791232/60/60/24/365*12))
648# 计算时间段差值
[root@104 ~]# echo "BeginTime: "$(date +%s) && BeginTime=$(date +%s) &&  sleep 10 && echo "EndTime: "$(date +%s) && EndTime=$(date +%s) && echo "TimeDifference="$(($EndTime-$BeginTime))
BeginTime: 1704791895
EndTime: 1704791905
TimeDifference=10

➡️ 秒(00-60) %S

[root@104 ~]# date +%S
50

➡️ 时间 %T

当前时间,等于 %H:%M:%S

[root@104 ~]# date +%T
17:20:20

➡️ 星期 %u

星期,1 代表星期一

[root@104 ~]# date +%u
2

➡️ 一年中的第几周 %U

一年中的第几周,以周日为每星期第一天(00-53)

[root@104 ~]# date +%U
01

➡️ ISO-8601 格式规范下的一年中第几周 %V

ISO-8601 格式规范下的一年中第几周,以周一为每星期第一天(01-53),在国内使用时需要使用**以周一为每星期第一天**来计算,和 date +%W 结果相同

[root@104 ~]# date +%V
02

➡️ 一星期中的第几日 %w

一星期中的第几日(0-6),0 代表周一,和 date +%u 结果相同

[root@104 ~]# date +%w
2

➡️ 一年中的第几周 %W

一年中的第几周,以周一为每星期第一天(00-53),和 date +%V 结果相同

[root@104 ~]# date +%W
02

➡️ 日期描述 %x

# 中文格式
[root@104 ~]# date +%x
2024年01月09日# 英文格式
[root@105 ~]# date +%x
01/09/2024

➡️ 时间描述 %X

# 中文格式
[root@104 ~]# date +%X
17时31分30秒# 英文格式
[root@105 ~]# date +%X
05:31:28 PM

➡️ 年份最后两位数位 %y

年份最后两位数位 (00-99)

[root@105 ~]# date +%y
24

➡️ 年份 %Y

[root@104 ~]# date +%Y
2024

➡️ 数字时区 %z

[root@104 ~]# date +%z
+0800
[root@104 ~]# date +%:z
+08:00
[root@104 ~]# date +%::z
+08:00:00
[root@104 ~]# date +%:::z
+08

➡️ 按字母表排序的时区缩写 %Z

[root@104 ~]# date +%Z
CST

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/45130.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

从零开始学习嵌入式---- C高级编译工具

走进编译工具箱:GCC、GDB 和 Make 你是否曾对程序员如何将一行行代码变成可以运行的软件感到好奇?答案就藏在编译工具箱里!今天,我们将揭开三个重要工具的神秘面纱:GCC、GDB 和 Make,它们是程序员的左膀右臂…

【全面介绍Oracle】

🌈个人主页: 程序员不想敲代码啊 🏆CSDN优质创作者,CSDN实力新星,CSDN博客专家 👍点赞⭐评论⭐收藏 🤝希望本文对您有所裨益,如有不足之处,欢迎在评论区提出指正,让我们共同学习、交流进步! 目录 🎥前言🎥基本概念和安装🎥SQL语言🎥PL/SQL编程🎥数据库…

【计算机组成原理 | 第三篇】各个硬件的组成部分

前言: 在前面的文章中,我们介绍了计算机架构的基本组成。可以知道计算机的基本架构由“存储器”,“运算器”,“控制器”,“输入设备”,“输出设备”这五部分组成。 在这片文章中,我们来深入的了…

【斯坦福因果推断课程全集】2_无混淆和倾向分1

目录 Beyond a single randomized controlled trial Aggregating difference-in-means estimators Continuous X and the propensity score 随机试验的一个最简单的扩展是无约束下的干预效果估计。从定性上讲,当我们想估计一种并非随机的治疗效果,但一…

数列分块<2>

本期是数列分块入门<2>。该系列的所有题目来自hzwer在LOJ上提供的数列分块入门系列。 Blog:http://hzwer.com/8053.html sto hzwer orz %%% [转载] 好像上面的链接↑打不开&#xff0c;放一个转载:https://www.cnblogs.…

tensorflow卷积层操作

全连接NN&#xff1a; 每个神经元与前后相邻层的每一个神经元都有全连接关系。输入是特征&#xff0c;输出为预测结果。 参数个数(前层*后层后层&#xff09; 实际应用时&#xff0c;会先对原始图像进行特征提取&#xff0c;再把提取到的特征送给全连接网络 会先进行若干层提…

在Linux中使用Typora将Markdown文档导出为docx格式

在Linux中使用Typora将Markdown文档导出为docx格式 步骤一&#xff1a;安装Typora 首先&#xff0c;如果你还没有安装Typora&#xff0c;请访问Typora官网下载并安装适用于你操作系统的版本。Typora支持Windows、macOS和Linux系统。 步骤二&#xff1a;编写或打开Markdown文…

C嘎嘎类与对象上篇

类的定义 1. class为定义类的关键字&#xff0c;Stack为类的名字&#xff0c;{}中为类的主体&#xff0c;注意类定义结束时后⾯分号不能省略 。类体中内容称为类的成员&#xff1a;类中的变量称为类的属性或成员变量; 类中的函数称为类的⽅法或者成员函数。 2. C中struct也可以…

【C语言】C语言-学生籍贯信息记录系统(源码+论文)【独一无二】

&#x1f449;博__主&#x1f448;&#xff1a;米码收割机 &#x1f449;技__能&#x1f448;&#xff1a;C/Python语言 &#x1f449;公众号&#x1f448;&#xff1a;测试开发自动化【获取源码商业合作】 &#x1f449;荣__誉&#x1f448;&#xff1a;阿里云博客专家博主、5…

apex实现xlsx的解压缩

在 Apex 中解压缩 XLSX 文件需要使用 Salesforce 平台上可用的工具和类。由于 Apex 本身不提供直接处理 ZIP 文件的内置类&#xff0c;你可以使用 Salesforce 的 ZIPpex 库来实现这一功能。ZIPpex 是一个社区驱动的库&#xff0c;用于处理 ZIP 文件的压缩和解压。 以下是使用 …

泛微e-cology getFileViewUrl接口存在SSRF漏洞复现 [附POC]

文章目录 泛微e-cology getFileViewUrl接口存在SSRF漏洞复现 [附POC]0x01 前言0x02 漏洞描述0x03 影响版本0x04 漏洞环境0x05 漏洞复现1.访问漏洞环境2.构造POC3.复现0x06 修复建议泛微e-cology getFileViewUrl接口存在SSRF漏洞复现 [附POC] 0x01 前言 免责声明:请勿利用文章…

【密码学】哈希函数与加密算法的关系

一、哈希函数的定义 哈希函数&#xff08;Hash Function&#xff09;&#xff0c;也被称为散列函数或杂凑函数&#xff0c; 是一种将任意长度的输入数据&#xff08;通常称为“预映射”或“消息”&#xff09;转换为固定长度输出&#xff08;通常称为“哈希值”、“散列值”、“…

PHP红包拓客微信小程序系统源码

&#x1f389;红包狂欢&#xff0c;客源滚滚来&#xff01;红包拓客微信小程序&#xff0c;营销新利器&#x1f680; &#x1f9e7;一、创意红包&#xff0c;吸引眼球 你还在为如何吸引顾客而烦恼吗&#xff1f;红包拓客微信小程序来帮你&#xff01;&#x1f381; 它以创意红…

基于jeecgboot-vue3的Flowable流程-集成仿钉钉流程(六)仿钉钉流程的转bpmn流程图

因为这个项目license问题无法开源&#xff0c;更多技术支持与服务请加入我的知识星球。 1、转bpmn流程图接口 /*** 转为bpmn xml格式* param processModel* throws IOException*/PostMapping("/ddtobpmnxml")public Result<?> ddToBpmnXml(RequestBody Proce…

TIA博途Wincc中画箭头和管道的具体方法示例

TIA博途Wincc中画箭头和管道的具体方法示例 如何画箭头? 如下图所示,在右侧的工具箱中找到基本对象—线,点击选中, 如下图所示,在画面中添加一条线段,然后右键进入该线段的属性,设置线的外观: 宽度、样式、颜色; 线端:这里可以选择起始和结束的样式,选择“箭头”,则…

自闭症孩子能否正常上普校:一场充满挑战与希望的探讨

在教育的舞台上&#xff0c;自闭症孩子​​​​​​​能否正常融入普通学校&#xff0c;是一个备受关注且充满争议的话题。 支持自闭症孩子上普校的观点认为&#xff0c;普通学校能为他们提供更接近真实社会的环境。在普校中&#xff0c;自闭症孩子有机会与不同类型的同学交流互…

Linux 之前的 Unix 桌面沉浮启示录

It takes more than open source, it takes open standards and consensus 仅仅开源还不足以实现开放&#xff0c;还需开放标准和建立共识 Steven J. Vaughan-Nichols Sat 27 Jan 2024 // 12:33 UTC 现在&#xff0c;由于有了安卓和 ChromeOS&#xff0c;Linux 已成为重要的终端…

IDEA实现热部署

什么是热部署&#xff1f; 热部署&#xff08;Hot Deployment&#xff09;是指在应用程序运行过程中&#xff0c;无需停止整个应用程序或重新启动服务器&#xff0c;就能够部署新的代码、资源或配置文件&#xff0c;使其立即生效。这种部署方式有助于提高开发效率和系统的可用性…

【系统架构设计】计算机组成与体系结构(三)

计算机组成与体系结构&#xff08;三&#xff09; 计算机系统组成存储器系统主存储器辅助存储器Cache存储器Cache 基本原理映射机制直接映射全相联映射组相联映射 替换算法写操作 流水线&#xff08;计算&#xff09;流水线周期流水线执行时间流水线的吞吐率流水线的加速比 计算…

Mongodb索引的删除

学习mongodb&#xff0c;体会mongodb的每一个使用细节&#xff0c;欢迎阅读威赞的文章。这是威赞发布的第87篇mongodb技术文章&#xff0c;欢迎浏览本专栏威赞发布的其他文章。如果您认为我的文章对您有帮助或者解决您的问题&#xff0c;欢迎在文章下面点个赞&#xff0c;或者关…