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 |
| %g | ISO-8601 格式年份的最后两位 (参见%G) |
| %G | ISO-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 下午) |
| %R | 24 小时时间的时和分,等价于 %H:%M |
| %s | 自UTC 时间 1970-01-01 00:00:00 以来所经过的秒数 |
| %S | 秒(00-60) |
| %t | 输出制表符 Tab |
| %T | 时间,等于%H:%M:%S |
| %u | 星期,1 代表星期一 |
| %U | 一年中的第几周,以周日为每星期第一天(00-53) |
| %V | ISO-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
相关文章:
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: 按…...
前端vue后端java使用easyexcel框架下载表格xls数据工具类
一 使用alibaba开源的 easyexcel框架,后台只需一个工具类即可实现下载 后端下载实现 依赖 pom.xml <dependency><groupId>org.apache.poi</groupId><artifactId>poi</artifactId><version>4.1.2</version></dependen…...
C#,开发过程中技术点GPT问答记录
6、为什么说GUI编程是事件驱动的? GUI(图形用户界面)编程是一种以图形方式构建用户界面的编程方法,它主要采用事件驱动模型进行程序逻辑的组织。在事件驱动的编程中,程序并不按照固定的顺序线性执行,而是等…...
wifi中的PSR技术
在Wi-Fi网络中,PSR(Preferred Spatial Reuse)是一种新兴技术,旨在提高频谱利用效率,特别是在高密度网络环境中。PSR通过允许多个接入点(AP)和设备在相同频谱资源上同时进行通信,从而…...
电子签章 签到 互动 打卡 创意印章 支持小程序 H5 App
电子签章 签到 互动 打卡 创意印章 支持小程序 H5 App 定制化...
Vscode插件推荐——智能切换输入法(Smart IME)
前言 相信广大程序员朋友在写代码的时候一定会遇到过一个令人非常头疼的事情——切换输入法,特别是对于那些勤于写注释的朋友,简直就是噩梦,正所谓懒人推动世界发展,这不,今天就向大家推荐一款好用的vscode插件&#…...
SpringBoot实战:轻松实现接口数据脱敏
一、接口数据脱敏概述 1.1 接口数据脱敏的定义 接口数据脱敏是Web应用程序中一种保护敏感信息不被泄露的关键措施。在API接口向客户端返回数据时,系统会对包含敏感信息(如个人身份信息、财务数据等)的字段进行特殊处理。这种处理通过应用特…...
我们水冷使制动电阻功率密度成倍增加-水冷电阻设计工厂
先进陶瓷 我们后来发现工业应用中对占用空间最小的水冷电阻器的工业需求,推出了适用于中压工业应用的水冷电阻器。它的特点是两块由具有特殊性能的先进陶瓷制成的板。 使用工业电驱动装置的一个重要好处是,可靠的再生和动态制动系统可以补充或取代传统…...
模板语法指令语法——02
//指令语法: 1.什么是指定,有什么作用? 指令的职责是,当表达式的值改变时,将其产生的连带影响,响应式的作用语DOM 2.vue框架中的所有指令的名字都以v-开始的 3.插值是写在标签当中用的,指令…...
Comparable 和 Comparator 接口的区别
Comparable 和 Comparator 接口的区别 1、Comparable 接口1.1 compareTo() 方法 2、Comparator 接口2.1 compare() 方法 3、 Comparable 和 Comparator 的区别总结 💖The Begin💖点点关注,收藏不迷路💖 在Java中,Compa…...
Python requests爬虫
Python的requests库是一个强大且易于使用的HTTP库,用于发送HTTP请求和处理响应。它是Python中最受欢迎的网络爬虫框架之一,被广泛用于从网页中提取数据、爬取网站和进行API调用。 使用requests库,你可以轻松地发送各种HTTP请求,包…...
Docker 基本管理及部署
目录 1.Docker概述 1.1 Docker是什么? 1.2 Docker的宗旨 1.3 容器的优点 1.4 Docker与虚拟机的区别 1.5 容器在内核中支持的两种技术 1.6 namespace的六大类型 2.Docker核心概念 2.1 镜像 2.2 容器 2.3 仓库 3.安装Docker 3.1 查看 docker 版本信息 4.…...
Ubuntu下安装配置和调优Docker,支持IPV6
今天在阿贝云的免费云服务器上折腾了一番Docker的配置和优化,这家免费云服务器可真不错啊。1核1G 10G硬盘,5M带宽,配置虽然简单但够用了。作为一个免费的云服务器,阿贝云的性能可以说是非常不错的了,完全能胜任日常的开发和部署工作。 让我们开始吧。首先,简单介绍一下Docker吧…...
Proteus + Keil单片机仿真教程(六)多位LED数码管的动态显示
上一节我们通过锁存器和八个八位数码管实现了多个数码管的静态显示,这节主要讲解多位数码管的动态显示,所谓的动态显示就是对两个锁存器的控制。考虑一个问题,现在给WS位锁存器增加一个循环,让它从1111 1110到0111 1111会发生什么事情?话不多说,先上代码: #include<…...
WEB开发-HTML页面更新部分内容
1 需求 2 接口 3 示例 在HTML页面中,如果你想要改变部分内容而不是整个页面,有几种方法可以实现这一目标,主要包括: JavaScript 的 DOM 操作 JavaScript允许你动态地修改HTML文档中的元素内容。你可以使用document.getElementB…...
休息时间c++
题目描述 小杨计划在某个时刻开始学习,并决定在学习k秒后开始休息。 小杨想知道自己开始休息的时刻是多少。 输入 前三行每行包含一个整数,分别表示小杨开始学习时刻的时h、分m、秒s(h,m,s的值符合1≤h≤12,0≤m≤59,0≤s≤59)…...
zabbix 自定义监控项及触发器
1. 在zabbix客户端定义脚本 /etc/zabbix/zabbix_agent2.d/目录下创建自定义监控项脚本 ]# cat /etc/zabbix/zabbix_agent2.d/web.conf #UserParameterkey,cmd #UserParameterngx.port,sh /server/scripts/xxx.sh UserParameterngx.port,ss -lntup|grep -w *:80|wc -lUserPar…...
easyExcel 不规则模板导入数据
文章目录 前言一、需求和效果二、难点和思路三、全部代码踩坑 前言 之前分享的 EasyExcel 批量导入并校验数据,仅支持规则excel,即首行表头,下面对应数据,无合并单元格情况。 本篇主要解决问题: 模板excel 表头不在首…...
前端调试技巧(npm Link,vscode调试,浏览器调试等)
Npm Link 功能: 在本地开发npm模块的时候,我们可以使用npm link命令,将npm 模块链接到对应的运行项目中去,方便地对模块进行调试和测试 断点调试 vscode调试 Debug Vue2 Project 目标:在VSCode中调试项目代码…...
SSL证书到期自动巡检脚本-推送钉钉告警
1. 编写SSL证书巡检脚本 cat /hao/batch_check_ssl_expire.sh #!/bin/bash# 域名列表文件绝对路径 domains_file"/hao/domains.txt"#钉钉webhook webhook_url"https://oapi.dingtalk.com/robot/send?access_token99999999999999999999999999999999999999999…...
conda相比python好处
Conda 作为 Python 的环境和包管理工具,相比原生 Python 生态(如 pip 虚拟环境)有许多独特优势,尤其在多项目管理、依赖处理和跨平台兼容性等方面表现更优。以下是 Conda 的核心好处: 一、一站式环境管理:…...
盘古信息PCB行业解决方案:以全域场景重构,激活智造新未来
一、破局:PCB行业的时代之问 在数字经济蓬勃发展的浪潮中,PCB(印制电路板)作为 “电子产品之母”,其重要性愈发凸显。随着 5G、人工智能等新兴技术的加速渗透,PCB行业面临着前所未有的挑战与机遇。产品迭代…...
Python:操作 Excel 折叠
💖亲爱的技术爱好者们,热烈欢迎来到 Kant2048 的博客!我是 Thomas Kant,很开心能在CSDN上与你们相遇~💖 本博客的精华专栏: 【自动化测试】 【测试经验】 【人工智能】 【Python】 Python 操作 Excel 系列 读取单元格数据按行写入设置行高和列宽自动调整行高和列宽水平…...
Java如何权衡是使用无序的数组还是有序的数组
在 Java 中,选择有序数组还是无序数组取决于具体场景的性能需求与操作特点。以下是关键权衡因素及决策指南: ⚖️ 核心权衡维度 维度有序数组无序数组查询性能二分查找 O(log n) ✅线性扫描 O(n) ❌插入/删除需移位维护顺序 O(n) ❌直接操作尾部 O(1) ✅内存开销与无序数组相…...
2025 后端自学UNIAPP【项目实战:旅游项目】6、我的收藏页面
代码框架视图 1、先添加一个获取收藏景点的列表请求 【在文件my_api.js文件中添加】 // 引入公共的请求封装 import http from ./my_http.js// 登录接口(适配服务端返回 Token) export const login async (code, avatar) > {const res await http…...
【配置 YOLOX 用于按目录分类的图片数据集】
现在的图标点选越来越多,如何一步解决,采用 YOLOX 目标检测模式则可以轻松解决 要在 YOLOX 中使用按目录分类的图片数据集(每个目录代表一个类别,目录下是该类别的所有图片),你需要进行以下配置步骤&#x…...
04-初识css
一、css样式引入 1.1.内部样式 <div style"width: 100px;"></div>1.2.外部样式 1.2.1.外部样式1 <style>.aa {width: 100px;} </style> <div class"aa"></div>1.2.2.外部样式2 <!-- rel内表面引入的是style样…...
自然语言处理——循环神经网络
自然语言处理——循环神经网络 循环神经网络应用到基于机器学习的自然语言处理任务序列到类别同步的序列到序列模式异步的序列到序列模式 参数学习和长程依赖问题基于门控的循环神经网络门控循环单元(GRU)长短期记忆神经网络(LSTM)…...
如何在最短时间内提升打ctf(web)的水平?
刚刚刷完2遍 bugku 的 web 题,前来答题。 每个人对刷题理解是不同,有的人是看了writeup就等于刷了,有的人是收藏了writeup就等于刷了,有的人是跟着writeup做了一遍就等于刷了,还有的人是独立思考做了一遍就等于刷了。…...
Typeerror: cannot read properties of undefined (reading ‘XXX‘)
最近需要在离线机器上运行软件,所以得把软件用docker打包起来,大部分功能都没问题,出了一个奇怪的事情。同样的代码,在本机上用vscode可以运行起来,但是打包之后在docker里出现了问题。使用的是dialog组件,…...
