date命令的语法结构:

date [-d][时间运算] [+FORMAT]

先说简单的,[+FORMAT] 部分,主要有如下输出格式:

时间方面:

%H : 小时(00..23)

%I : 小时(01..12)

%k : 小时(0..23)

%l : 小时(1..12)

%M : 分钟(00..59)

%p : 显示本地 AM 或 PM

%r : 直接显示时间 (12 小时制,格式为 hh:mm:ss [AP]M)

%s : 从 1970 年 1 月 1 日 00:00:00 UTC 到目前为止的秒数 %S : 秒(00..61)

%T : 直接显示时间 (24 小时制)

%X : 相当于 %H:%M:%S

%Z : 显示时区

日期方面 :

%a : 星期几 (Sun..Sat)

%A : 星期几 (Sunday..Saturday)

%b : 月份 (Jan..Dec)

%B : 月份 (January..December)

%c : 直接显示日期与时间

%d : 日 (01..31)

%D : 直接显示日期 (mm/dd/yy)

%h : 同 %b

%j : 一年中的第几天 (001..366)

%m : 月份 (01..12)

%U : 一年中的第几周 (00..53) (以 Sunday 为一周的第一天的情形)

%w : 一周中的第几天 (0..6)

%W : 一年中的第几周 (00..53) (以 Monday 为一周的第一天的情形)

%x : 直接显示日期 (mm/dd/yy)

%y : 年份的最后两位数字 (00.99)

%Y : 完整年份 (0000..9999)

常用格式:

date        #显示当前本地时间
2019年 01月 04日 星期五 15:54:38 CST
date -u #显示当前格林威治时间
2019年 01月 04日 星期五 08:05:29 UTC
date +'%Y-%m-%d'
2019-01-04
date +'%Y-%m-%d %T'
2019-01-04 16:06:40
date +'%F'
2019-01-04
date +'%y%m%d %H:%M:%S'
190104 16:08:17
date +'%w' #显示周几
5
date +'%W' #显示第几周
00
date +'%s' #显示时间戳
1546589343

时间运算部分:

date -d '-1 day'

date -d '-1 month'

date -d '-1 years'

date -d '-1 week'

date -d '-1 hour'

date -d '-1 minute'

date -d '-1 second'

使用date命令,对指定日期时间进行加减:

date -d '2018-12-25 +2 day' '+%F'
--
date -d '2018-12-25 +2 week' '+%F'
--
date -d '20181225 +2 week' '+%F'
--
date -d '181225 +2 week' '+%F'
--

虽然日期选择的格式不同,但是系统会自动识别。但是,对小时、分、秒进行加减,时间部分只能使用一种格式。

date -d '181225 10 +2hour' '+%F %T'    -- ::

date -d '20181225 10 +2hour' '+%F %T'    -- ::

date -d '2018-12-25 10 +2hour' '+%F %T'    -- ::

date -d '2018-12-25 10:25 +2hour' '+%F %T'    -- ::  #使用 小时:分:秒 的格式,计算出来的时间错误!

date -d '2018-12-25 1025 +2hour' '+%F %T'    -- ::

date -d '2018-12-25 102530 +2hour' '+%F %T'    date: 无效的日期"2018-12-25 102530 +2hour"  #时间部分,只能到分钟,具体原因尚不清楚!

date -d '2018-12-25 102530 +2 minute' '+%F %T'    date: 无效的日期"2018-12-25 102530 +2 minute"  #时间部分,只能到分钟,具体原因尚不清楚!

date -d '2018-12-25 1025 +2 minute' '+%F %T'      -- ::

变量引用:

在shell语法里,我们使用date命令可以表示任何我们需要的时间,那么,如何引用用date命令赋值的一个变量呢。

假设,变量d1=$(date -d '2018-12-25 1025 +2 minute' '+%F %T')

对变量d1的引用,不是直接写d1,而是${d1}

cww@cww-XPS--:~$ d1=$(date -d '2018-12-25 1025 +2 minute' '+%F %T')
cww@cww-XPS--:~$ echo d1
d1
cww@cww-XPS--:~$ echo ${d1}
-- ::
 

shell date命令的更多相关文章

  1. shell date 命令说明

    shell date 命令说明 使用方法:date [选项]... [+格式] 或:date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]] 以给定的格式 ...

  2. shell date 命令整理

    最近发现date命令特别好用(在mac里面不行) 1.获取今天的日期 [root@nd02 ~]# date +%Y%m%d 2.获取某一天的日期 [root@nd02 ~]# date -d &qu ...

  3. Shell date 命令详解

    格式: date [选项] ... [+格式] 选项说明: -d ,--date=字符串 显示指定字符串所描述的时间 格式说明: 例子1: #!/bin/bash ##. 获取当前系统时间 YYYY- ...

  4. javascript 的Date 格式化, 模仿shell中date命令的格式

    原文:javascript 的Date 格式化, 模仿shell中date命令的格式 shell 中显示当前的日期 [root@localhost]$ date '+%Y-%m-%d %H:%M:%S ...

  5. shell的date命令:使用方法,以及小时、分钟的计算

    shell命令格式严格,不像python那样命令行中可以添加空格.如等号两边无空格.有多余空格错误,日期date命令就是最明显的例子. 命令格式: date [-u] [-d datestr] [-s ...

  6. Shell脚本、Shell脚本结构、date命令的用法、变量

    1.Shell脚本: shell是一种脚本语言 目的:可以实现自动化运维,能大大增加运维的效率.2.Shell脚本结构:   #!/bin/bash  以#!/bin/bash开头,即以/bin/ba ...

  7. centos shell脚本编程1 正则 shell脚本结构 read命令 date命令的用法 shell中的逻辑判断 if 判断文件、目录属性 shell数组简单用法 $( ) 和${ } 和$(( )) 与 sh -n sh -x sh -v 第三十五节课

    centos   shell脚本编程1 正则  shell脚本结构  read命令  date命令的用法  shell中的逻辑判断  if 判断文件.目录属性  shell数组简单用法 $( ) 和$ ...

  8. shell脚本介绍、shell脚本结构和执行、date命令用法、shell脚本中的变量

    7月11日任务 20.1 shell脚本介绍20.2 shell脚本结构和执行20.3 date命令用法20.4 shell脚本中的变量 20.1 shell脚本介绍 1.shell脚本语言是linu ...

  9. Linux centosVMware shell脚本介绍、shell脚本结构和执行、date命令用法、shell脚本中的变量

    一. shell脚本介绍 shell是一种脚本语言 aming_linux blog.lishiming.net 可以使用逻辑判断.循环等语法 可以自定义函数 shell是系统命令的集合 shell脚 ...

随机推荐

  1. ThinkPHP设计模式与Trait技术

    阅读原文 设计模式 单例模式 class Site { //属性 public $siteName; //本类的静态实例 protected static $instance = null; //禁用 ...

  2. Pubmed/PMC/Meline的异同点【转载】

    转自:http://paper.dxy.cn/article/495034 一.PubMed.PMC 和 MEDLINE 到底有什么区别和联系? 可以看出,PubMed的收录范围是最广的:三个都是生物 ...

  3. [LeetCode] 97. Interleaving String_ Hard tag: Dynamic Programming

    Given s1, s2, s3, find whether s3 is formed by the interleaving of s1 and s2. Example 1: Input: s1 = ...

  4. Cocos Creator cc.Button (脚本事件内容)

    cc.Class({extends: cc.Component,properties: {}, onLoad: function () { var clickEventHandler = new cc ...

  5. 【备忘】mybatis的条件判断用<choose>

    mybatis并没有if..else,在mybatis的sql mapper文件中,条件判断要用choose..when..otherwise.   <choose> <when t ...

  6. 北京大学Cousera学习笔记--3-计算导论与C语言基础-第一讲.计算机的基本原理-计算机怎么计算-数的二进制

    思考问题 1.“数”在计算机中是如何表示的? 2.逻辑上“数”是怎么运算的? 3.物理上“数”的计算是怎么实现的? 从图灵机计算问题得出: 1.字母表中的符号越多(几进制),读入移动次数减少,但程序数 ...

  7. linux 系统管理11 ——系统安全及应用

    一.基本安全措施 1.系统账号清理 (1).将非登陆用户的shell设为/sbin/nologin 方法一.usermod -s 方法二.chsh命令,交互式修改 方法三.chsh -s usermo ...

  8. 不平衡数据下的机器学习方法简介 imbalanced time series classification

    imbalanced time series classification http://www.vipzhuanli.com/pat/books/201510229367.5/2.html?page ...

  9. 详解PHP中foreach

    foreach有两种语法: 第一种:遍历给定的 数组语句 array_expression 数组.每次循环中,当前单元的值被赋给 $value 并且数组内部的指针向前移一步(因此下一次循环中将会得到下 ...

  10. (cvpr2019 ) Better Version of SRMD

    SRMD的内容上篇,已经介绍,本文主要介绍SRMD的升级版,解决SRMD的诸多问题, 并进行模拟实验. 进行双三次差值(bicubic)===>对应matlab imresize() %% re ...