linux之date命令

2023-11-09

date 命令用于 显示 或 设置系统的时间或日期。

格式:date [参数] [+日期格式]

注意: date后面有一个空格,否则无法识别命令,shell对空格是很严格的。

1、Linux date命令参数

 日期时间格式符号:

   %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  星期几 ,缩写(Sun…Sat)。
 %A  星期几 ,完整英文星期(Sunday…Saturday)
 %b  月份 (Jan…Dec)
 %B  月份 (January…December)
 %c  日期与时间。只输入date指令也会显示同样的结果。
 %d  日(以01-31来表示)。
 %D  日期(含年月日)。以MM/DD/YY显示日期。

 %F  日期(含年月日)。以YYYY-MM-DD显示日期.
 %j     一年中的第几天 (001…366)。
 %m  月份(以01-12来表示)。
 %U  该年中的周数。

    %u    一周中的第几天 (1…7) (1是星期一)
 %w  该周的天数,0代表周日,1代表周一,以此类推。

   %W    一年中的第几周 (00…53) (以 Monday 为一周的第一天的情形)
 %x  日期(以本地的惯用法来表示)。以MM/DD/YYYY显示日期.
 %y  年份(以00-99来表示)。
 %Y  年份(以四位数来表示)。
 %n  在显示时,插入新的一行。
 %t  在显示时,插入tab。
 MM  月份(必要)。
 DD  日期(必要)。
 hh  小时(必要)。
 mm  分钟(必要)。

 CC  年份的前两位数(选择性)。
 YY  年份的后两位数(选择性)。
 ss  秒(选择性)。

选择参数:
 -d <字符串>  显示字符串所指的日期与时间。字符串前后必须加上双引号。
 -s <字符串>  根据字符串来设置日期与时间。字符串前后必须加上双引号。
 -u  显示GMT。即显示或设置全球时间(格林威治时间)。

 -f 文件路径    作用:可将-d参数指定的运算规则写入文件中,通过-f参数指定文件路径,date命令逐行读取该文件,并按照此文件指定的运算规则输出运算后的时间。

   -r  文件路径  作用:显示指定文件最后被修改的时间。
 --help  在线帮助。
 --version  显示版本信息。

2、示例:

2.1、-s, --set 设置时间

# 设置当前时间,只有root权限才能设置,其他只能查看。

# 设置成20080523,这样会把具体时间设置成空00:00:00
date -s 20080523

# 设置具体时间,不会对日期做更改
date -s 01:01:01 

# 这样可以设置全部时间,示例1
date -s "01:01:01 2008-05-23"

# 这样可以设置全部时间,示例2
date -s "01:01:01 20080523"

# 这样可以设置全部时间,示例3
date -s "2008-05-23 01:01:01"

# 这样可以设置全部时间,示例4
date -s "20080523 01:01:01"

 2.2、-d, --date 显示时间加减后结果

格式: date -d '运算规则'
作用:指定时间运算规则,date会将当前时间做指定的运算,然后输出运算后的时间

# 输出3分钟前的时间 (3天day、月month、年year前同理)
date -d '3 minutes ago'
date -d '-3 minutes'

# 输出3分钟后的时间(3天、月、年前同理)
date -d '3 minutes'

# 此处时间的单复数都可以,效果一样
date -d '-3 minutes'
date -d '-3 minute'

# 显示后一天的日期    
date +%Y%m%d --date "+1 day"

# 显示前一天的日期
date +%Y%m%d --date "-1 day"

# 显示上一月的日期
date +%Y%m%d --date "-1 month"

# 显示下一月的日期
date +%Y%m%d --date "+1 month"

# 显示前一年的日期
date +%Y%m%d --date "-1 year"

# 显示下一年的日期
date +%Y%m%d --date "+1 year"

2.3、-f, --file 批量运算

格式:date -f 文件路径
作用:可将-d参数指定的运算规则写入文件中,通过-f参数指定文件路径,date命令逐行读取该文件,并按照此文件指定的运算规则输出运算后的时间。

# datefile文件内容
1 years ago
-1 year
-3 month
-2 days
1 year
2 month
# 执行命令
date -f datefile

# 输出结果
2022年 10月 07日 星期五 15:09:35 CST
2022年 10月 07日 星期五 15:09:35 CST
2023年 07月 07日 星期五 15:09:35 CST
2023年 10月 05日 星期四 15:09:35 CST
2024年 10月 07日 星期一 15:09:35 CST
2023年 12月 07日 星期四 15:09:35 CST

2.4、-r --reference 显示文件修改时间

格式:date -r 文件路径
作用:显示指定文件最后被修改的时间。

$ date -r datefile
2023年 10月 07日 星期六 15:09:21 CST

$ date -r datefile "+%Y-%m-%d %H:%m:%S"
2023-10-07 15:10:21

注:cat查看文件不影响修改时间,vim修改文件并保存即会修改时间

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

linux之date命令 的相关文章

随机推荐

  • JavaScript中将字符串的首字母大写

    其实方法有很多 这里我们使用其中一种 利用字符串的内置api来更改 1 定义全小写一个字符串 2 利用字符串的方法将首字母取出转化为大写并与剩余字符串进行拼接 3 弹窗显示结果 个人习惯 当然也可以控制台输出等等 代码为下 let str
  • 简简单单吃个磁盘(硬盘?)

    前言 Version S Description Date By V1 C First Version 2020 10 24 AYZP C Create A Add M Modify D Delete 整理资料的时候 发现个磁盘的相关知识不
  • 怎样建立css,怎样建立新的css规则

    建立新css规则的方法 首先打开dreamweaver软件 然后在菜单中单击 文件 选择 新建 接着创建 XHTML1 0 transitional 最后打开 新建CSS规则 对话框 并指定要创建的CSS规则的选择器类型即可 本教程操作环境
  • android设置状态栏颜色(沉浸式状态栏)

    设置状态栏颜色的方法是andorid4 4以后支持的 最少要api19以上才可以使用哟 方法如下 第一种 public static void setStatusBarTranslucent ViewGroup vg Activity ac
  • mac os 安装 redis

    mac os 安装 redis 在redis官网下载 https redis io download 1 下载 在mac os系统 双指点击 finder 图标 选 Go to Folder 输入 usr local 另外开一个finder
  • 基于鲸鱼算法改进支持向量机SVM的多分类研究,woa-svm

    目录 背影 支持向量机SVM的详细原理 SVM的定义 SVM理论 鲸鱼算法的原理及步骤 SVM应用实例 鲸鱼算法改进SVM的多分类研究 代码 结果分析 展望 背影 传统的支持向量机只能进行二分类 本文调用libsvm工具箱 并用鲸鱼算法改进
  • 算法编程7:一个四位数 abcd,满足 abcd * 4 = dcba,求这个数

    描述 一个四位数 abcd 满足 abcd 4 dcba 求这个数 编程实现1 for i in list range 1000 2500 num2 i 4 a i 1000 b i 1000 100 c i 1000 100 10 d i
  • 序列化错误小结:SerializationFailedException

    公司项目 不提供具体代码 仅提供思路 问题描述 错误报告MultipartRequest无法实现序列化 问题解决1 发生SerializationFailedException时 第一时间根据错误报告定位错误类 发现MultipartReq
  • 分布式事务专题之9、分布式事务解决方案之最大努力通知型

    目录 1 支付宝充值案例 假如我们自己有一个电商系统 支持用户使用支付宝充值 流程如下 2 用户支付流程 是一个同步的过程 用户在浏览器发起充值请求 gt 电商服务 电商服务生成充值订单 状态为0 待支付 0 待支付 100 支付成功 20
  • 软件产品质量模型

    ISO IEC 9126是国际标准组织 ISO 制订的用于评估软件质量的国际标准1 ISO IEC 9126标准由6个特性和27个子特性组成 是评价软件质量的国际标准1 ISO IEC 9126已经被ISO IEC 25010取代 后者是国
  • STM32刷Micropython固件参考指南

    STM32刷Micropython固件指南 其实刷固件和普通的程序下载烧录无多大的差异 主要是其他因数的影响导致刷固件或刷完固件无法运行的情况和相关问题 刷固件教程 固件下载 目前所支持的stm32型号有这些 stm32f0 stm32f4
  • linux进阶05——Makefile(二)

    1 源代码 main c int main printf hello world n fun1 fun2 fun1 c void fun1 printf this is fun1 n fun2 c void fun2 printf this
  • BERT:Pre-training of Deep Bidirectional Transformers for Language Understanding

    BERT 个人翻译 并不权威 paper https arxiv org pdf 1810 04805 pdf BERT Pre training of Deep Bidirectional Transformers for Languag
  • sql语句大全+实例讲解

    1 创建3张表 学生表创建 CREATE table student Sno CHAR 9 PRIMARY KEY Sname CHAR 20 UNIQUE Ssex char 2 Sage SMALLINT Sdept char 20 课
  • LCD 驱动

    LCD的型号是 CM162 4 有U1 U2 外形尺寸 L W H mm 80 36 12 点数 mm 5 8 内藏控制器 SPLC 780 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 GND VDD VO
  • vue3+element-plus+js 对列表查询/重置条件 组件简单封装

    在写后台管理的时候会有很多列表 列表上面一般会有查询条件 对列表进行搜索查询 所以就想封装成为组件 就不需要每个页面写一堆的代码 直接循环出来进行遍历即可 1 封装子组件searchForm组件
  • 利用Bat命令批量修改文件名

    因为科研需求 需要把文件名规范统一命名 整体思路 先获得原始文件名字 带后缀 再导到excel里搞好新名字 构建好Bat的ren函数 完成修改 具体措施 1 读取原本文件名称 在相应的文件目录下 新建一个文本文件 并且打开输入 dir b
  • 移动端物理像素和设备独立像素

    https blog csdn net aiolos1111 article details 51880223 https www cnblogs com samwu p 5341056 html http www softwhy com
  • ifconfig命令详解

    在CU论坛里看到一个关于google面试的帖子 当中提到的一个面试题就是ifconfig命令的用法 所以今天就趁些机会在网上找了一些关于ifconfig的文章 转到这边来 大家一起学习 以下转自 http www photox cn IT
  • linux之date命令

    date 命令用于 显示 或 设置系统的时间或日期 格式 date 参数 日期格式 注意 date后面有一个空格 否则无法识别命令 shell对空格是很严格的 1 Linux date命令参数 日期时间格式符号 H 小时 以00 23来表示