在shell脚本里date命令的用法:

%%  一个文字的 %
%a 当前locale 的星期名缩写(例如: 日,代表星期日)
%A 当前locale 的星期名全称 (如:星期日)
%b 当前locale 的月名缩写 (如:一,代表一月)
%B 当前locale 的月名全称 (如:一月)
%c 当前locale 的日期和时间 (如:2005年3月3日 星期四 ::)
%C 世纪;比如 %Y,通常为省略当前年份的后两位数字(例如:)
%d 按月计的日期(例如:)
%D 按月计的日期;等于%m/%d/%y
%e 按月计的日期,添加空格,等于%_d
%F 完整日期格式,等价于 %Y-%m-%d
%g ISO- 格式年份的最后两位 (参见%G)
%G ISO- 格式年份 (参见%V),一般只和 %V 结合使用
%h 等于%b
%H 小时(-)
%I 小时(-)
%j 按年计的日期(-)
%k hour, space padded ( ..); same as %_H
%l hour, space padded ( ..); same as %_I
%m month (..)
%M minute (..)
%n 换行
%N 纳秒(-)
%p 当前locale 下的"上午"或者"下午",未知时输出为空
%P 与%p 类似,但是输出小写字母
%r 当前locale 下的 小时时钟时间 (如::: 下午)
%R 小时时间的时和分,等价于 %H:%M
%s 自UTC 时间 -- :: 以来所经过的秒数
%S 秒(-)
%t 输出制表符 Tab
%T 时间,等于%H:%M:%S
%u 星期, 代表星期一
%U 一年中的第几周,以周日为每星期第一天(-)
%V ISO- 格式规范下的一年中第几周,以周一为每星期第一天(-)
%w 一星期中的第几日(-), 代表周一
%W 一年中的第几周,以周一为每星期第一天(-)
%x 当前locale 下的日期描述 (如://)
%X 当前locale 下的时间描述 (如:::)
%y 年份最后两位数位 (-)
%Y 年份
%z +hhmm 数字时区(例如,-)
%:z +hh:mm 数字时区(例如,-:)
%::z +hh:mm:ss 数字时区(例如,-::)
%:::z 数字时区带有必要的精度 (例如,-,+:)
%Z 按字母表排序的时区缩写 (例如,EDT)

  date命令可以打印和设置系统日期和时间,用法示例如下

  date命令常用选项-d

[keysystem@localhost ~]$ date -d 'now'    #显示当前时间
Fri Feb :: CST
[keysystem@localhost ~]$
[keysystem@localhost ~]$ date -d '2 days ago' #显示2天前的时间
Wed Jan :: CST
[keysystem@localhost ~]$ date -d '3 month 1 day' #显示3月零1天以后的时间
Thu May :: CST
[keysystem@localhost ~]$ date -d '25 Dec' +%j #显示12月25日在当年的哪一天 [keysystem@localhost ~]$ date -d '30 second ago' #显示30秒前的时间
Fri Feb :: CST 2018
##在当前时间的基础上往前或往后推
[keysystem@localhost ~]$ date -d "+3 day"
Mon Feb :: CST
[keysystem@localhost ~]$ date -d "-3 day"
Tue Jan :: CST
[keysystem@localhost ~]$ date -d "-3 month"
Thu Nov :: CST
[keysystem@localhost ~]$ date -d "+3 month"
Wed May :: CST
[keysystem@localhost ~]$ date -d "+3 year"
Tue Feb :: CST
[keysystem@localhost ~]$ date -d "-3 year"
Mon Feb :: CST
[keysystem@localhost ~]$ date -d "-3 hour"
Fri Feb :: CST
[keysystem@localhost ~]$ date -d "+3 hour"
Fri Feb :: CST
[keysystem@localhost ~]$ date -d "+3 minute"
Fri Feb :: CST
[keysystem@localhost ~]$ date -d "-3 minute"
Fri Feb :: CST
[keysystem@localhost ~]$ date -d "-3 second"
Fri Feb :: CST
[keysystem@localhost ~]$ date -d "+3 second"
Fri Feb :: CST
#显示本月的第一天
[keysystem@localhost ~]$ date -d `date +%y%m01`
Thu Feb :: CST
[keysystem@localhost ~]$ date +%y%m01 [keysystem@localhost ~]$ date +%Y%m01
#上个月最后一天
[keysystem@localhost ~]$ date -d `date +%y%m01`"-1 day"
Wed Jan :: CST
#4个月前的最后一天
[keysystem@localhost ~]$ date -d `date -d "-3 month" +%y%m01`"-1 day"
Tue Oct :: CST
#11个月后的第一天
[keysystem@localhost ~]$ date -d `date -d "+12 month" +%y%m01`"-1 day"
Thu Jan :: CST
#11个月后的最后一天
[keysystem@localhost ~]$ date -d `date -d "+12 month" +%y%m01`"-1 day" +%Y%m%d

显示当前的日期和时间

[keysystem@localhost ~]$ date +%Y%m%d

[keysystem@localhost ~]$ date +%Y%m%d%H%M%S

设置日期和时间(date后面的数字代表月日时分年,还可以加秒,需要后面跟英文状态下的句号字符".")

[keysystem@localhost ~]$ date +%m%d%H%M%y

[keysystem@localhost ~]$ date
date: cannot set date: Operation not permitted
Fri Feb :: CST
[keysystem@localhost ~]$ date +%m%d%H%M%y.%S
0202102518.11
[keysystem@localhost ~]$ date 0202102518.11
date: cannot set date: Operation not permitted
Fri Feb :: CST
[keysystem@localhost ~]$ date `date -d "3 days ago" +%m%d%H%M%Y.%S`
date: cannot set date: Operation not permitted
Tue Jan :: CST
[keysystem@localhost ~]$ date `date -d "$((3600*24)) seconds ago" +%m%d%H%M%Y.%S`
date: cannot set date: Operation not permitted
Thu Feb :: CST
[keysystem@localhost ~]$

Linux上shell脚本date的用法的更多相关文章

  1. Linux上shell脚本,字符串转ASCII码

    在shell脚本里,将字符串转ASCII码的方法: [keysystem@localhost ~]$ printf "%d" "'A" [keysystem@l ...

  2. Linux常用Shell脚本珍藏【转载】

    我们在运维中,尤其是linux运维,都知道脚本的重要性,脚本会让我们的 运维事半功倍,所以学会写脚本是我们每个linux运维必须学会的一门功课,这里收藏linux运维常用的脚本.如何学好脚本,最关键的 ...

  3. 详解Linux交互式shell脚本中创建对话框实例教程_linux服务器

    本教程我们通过实现来讲讲Linux交互式shell脚本中创建各种各样对话框,对话框在Linux中可以友好的提示操作者,感兴趣的朋友可以参考学习一下. 当你在终端环境下安装新的软件时,你可以经常看到信息 ...

  4. 从windows到linux的shell脚本编码和格式问题

    从windows到linux的shell脚本编码和格式问题   从windows到Linux的shell脚本编码和格式问题 1.异常问题 :set ff=unix 启动脚本在启动时报错比如执行sh s ...

  5. Linux运行shell脚本提示No such file or directory错误的解决办法

    Linux执行.sh文件,提示No such file or directory的问题: 原因:在windows中写好shell脚本测试正常,但是上传到 Linux 上以脚本方式运行命令时提示No s ...

  6. Linux简单Shell脚本监控MySQL、Apache Web和磁盘空间

    Linux简单Shell脚本监控MySQL.Apache Web和磁盘空间 1. 目的或任务 当MySQL数据库.Apache Web服务器停止运行时,重新启动运行,并发送邮件通知: 当服务器磁盘的空 ...

  7. Linux:从windows到linux的shell脚本编码和格式

    从windows到linux的shell脚本编码和格式问题 异常问题 :set ff=unix 启动脚本在启动时报错比如执行sh start.sh,时会报Command not found等等的错误, ...

  8. 使用C#给Linux写Shell脚本(下篇)

    在上篇的<使用C#给Linux写Shell脚本>结尾中,我们留下了一个关于C#如何调用BashShell的问题.在文章发布之后,我留意到有读者留言推荐使用“Pash”(一款类PowerSh ...

  9. Linux/Unix shell 脚本中调用SQL,RMAN脚本

    Linux/Unix shell脚本中调用或执行SQL,RMAN 等为自动化作业以及多次反复执行提供了极大的便利,因此通过Linux/Unix shell来完成Oracle的相关工作,也是DBA必不可 ...

随机推荐

  1. adb连接手机的两种方式

    adb连接手机进行调试有两种方式,一种使用USB线,一种使用无线WiFi. 第一种  使用USB线连接 1. 在手机上启用USB调试 2. CMD窗口输入adb devices,此时可以看到自己的设备 ...

  2. CodeForces 1073F Choosing Two Paths

    Description You are given an undirected unweighted tree consisting of \(n\) vertices. An undirected ...

  3. libgdx自制简易版Don't Touch The White Tile

    Don't Toutch The White说来也奇快,本来没什么难的,但是在欧美ios榜上却雄踞榜首好长时间.即使是在国内,也很火,还真是想不通,谁能解释下,难道真是所谓的抓住了用户的G点,或是这些 ...

  4. anaconda安装opencv3

    opencv是C和C++语言编写的,很多教程都是基于C++语言进行学习的,可是机器学习最多的库是python写的,所以还是学学python怎么安装opencv3, 面向学习的大都是使用了anacond ...

  5. [转载] 相机越贵画质越好?聊聊CMOS设计

    似乎在很多人心目中,个位数机身就代表了品牌最强成像素质,这或许有“人不识货钱识货”的道理在作祟,但事实上如佳能1DX2或尼康D5,又或是索尼A9这种旗舰机真的就一定能代表本家的画质巅峰么?这一切都得从 ...

  6. BCompare破解方法

    1.删除 BCUnrar.dll 文件,重启软件. 备注:使用everything搜索BCUnrar.dll

  7. 高精度加法--C++

    高精度加法--C++ 仿照竖式加法,在第一步计算的时候将进位保留,第一步计算完再处理进位.(见代码注释) 和乘法是类似的. #include <iostream> #include < ...

  8. python 微信撤回消息

    import itchatfrom itchat.content import *import osimport reimport time# 文件临时存储页rec_tmp_dir = os.path ...

  9. 联想拯救者15-isk安装固态硬盘与系统迁移教程

    一.固态选择 首先知道拯救者15-ISK是m.2接口2280尺寸,支持PCIE协议NVMe接口标准.我加装的固态是HP EX900系列250G M.2 NVMe固态硬盘. 二.开盖安装 1.拯救者15 ...

  10. python+selenium安装方法

    一.准备工具: 下载 python[python 开发环境] http://python.org/getit/ 下载 setuptools [python 的基础包工具] http://pypi.py ...