• 每天一个Linux命令(32)date命令


          date命令是显示或设置系统时间与日期。 

          (1)用法:

          用法:  date [选项]  [参数]

          (2)功能:

          功能:  根据指定格式显示当前时间或设置系统时间

           很多shell脚本里面需要打印不同格式的时间或日期,以及要根据时间和日期执行操作。延时通常用于脚本执行过程中提供一段等待的时间。日期可以以多种格式去打印,也可以使用命令设置固定的格式。在类UNIX系统中,日期被存储为一个整数,其大小为自世界标准时间(UTC)1970年1月1日0时0分0秒起流逝的秒数。

          (3)选项参数:

          1) <+时间日期格式>:        指定显示时使用的日期时间格式;
          2) -d<字符串>:            显示字符串所指的日期与时间,字符串前后必须加上双引号;
          3) -s<字符串>:            根据字符串来设置日期与时间;(不用加引号)

          (4)实例:

          1)[root@localhost Document]# date -s 20160530           设置日期和时间(只有root权限才能设置,其他只能查看)

    [root@localhost Document]# date -s 20160530
    2016年 05月 30日 星期一 00:00:00 PDT
    [root@localhost Document]# date -s 09:00:00
    2016年 05月 30日 星期一 09:00:00 PDT

          2)[root@localhost Document]# date                  查看当前时间

    [root@localhost Document]# date
    2016年 05月 30日 星期一 09:01:05 PDT

          3)[root@localhost Document]# date 0819150511            第二种设置日期和时间的方式

    [root@localhost Document]# date 0819150511
    2011年 08月 19日 星期五 15:05:00 PDT
    [root@localhost Document]# date 0530080016
    2016年 05月 30日 星期一 08:00:00 PDT

          4)[root@localhost Document]# date +%m%d%H%M%S        第二种显示日期的方式

    [root@localhost Document]# date +%m%d%H%M%S
    0530080137
    [root@localhost Document]# date +%y%m%d%H%M%S
    160530080158

          5)[root@localhost Document]# date -d "+1 day" +"%y/%m/%d"        显示经过加减法过后的日期

    [root@localhost Document]# date -d "1 day ago" +"%Y-%m-%d"                  //等价于date -d "-1 day ago" +"%Y-%m-%d"
    2016-05-29
    [root@localhost Document]# date -d "1 day ago" +"%y-%m-%d"
    16-05-29
    [root@localhost Document]# date -d "1 month ago" +"%y/%m/%d"
    16/04/30
    [root@localhost Document]# date -d "+1 day" +"%y/%m/%d"
    16/05/31
    [root@localhost Document]# date -d "+1 month" +"%y-%m-%d"
    16-06-30

          6)[root@localhost Document]# date -s "2016-05-30 09:10:10"         同时设置日期和时间

    [root@localhost Document]# date -s "2016-05-30 09:10:10"
    2016年 05月 30日 星期一 09:10:10 PDT
    [root@localhost Document]# date -s "20160530 09:10:10"
    2016年 05月 30日 星期一 09:10:10 PDT
    [root@localhost Document]# date -s "09:00:00 20160530"
    2016年 05月 30日 星期一 09:00:00 PDT
    [root@localhost Document]# date -s "09:00:00 2016/05/30"
    2016年 05月 30日 星期一 09:00:00 PDT
    [root@localhost Document]# date -s "09:00:00 2016-05-30"
    2016年 05月 30日 星期一 09:00:00 PDT

          7)格式转换后时间游走:

    [root@localhost Document]# date -d "Nov 5, 2018 09:00:00 AM 2 year ago" +"%Y-%m-%d %H:%M.%S"
    2016-11-05 09:00.00
    [root@localhost Document]# date -d "Oct 30, 2018 09:10:00 AM 2 month ago" +"5Y-%m-%d %H:%M"
    5Y-08-30 09:10
    [root@localhost Document]# date -d "Oct 30, 2018 09:10:00 AM 2 month ago" +"%Y-%m-%d %H:%M"
    2018-08-30 09:10

          8)[root@localhost Document]# echo $diff seconds        记录命令花费的时间

    [root@localhost Document]# start=$(date +%s)
    [root@localhost Document]# ls /home |more -10
    sunjimeng
    [root@localhost Document]# end=$(date +%s)
    [root@localhost Document]# diff=$((end-start))
    [root@localhost Document]# echo $diff seconds
    40 seconds

          (5)日期格式字符串列表
          %H 小时,24小时制(00~23)

      %I 小时,12小时制(01~12)

      %k 小时,24小时制(0~23)

      %l 小时,12小时制(1~12)

      %M 分钟(00~59)

      %p 显示出AM或PM

      %r 显示时间,12小时制(hh:mm:ss %p)

      %s 从1970年1月1日00:00:00到目前经历的秒数

      %S 显示秒(00~59)

      %T 显示时间,24小时制(hh:mm:ss)

      %X 显示时间的格式(%H:%M:%S)

      %Z 显示时区,日期域(CST)

      %a 星期的简称(Sun~Sat)

      %A 星期的全称(Sunday~Saturday)

      %h,%b 月的简称(Jan~Dec)

      %B 月的全称(January~December)

      %c 日期和时间(Tue Nov 20 14:12:58 2012)

      %d 一个月的第几天(01~31)

      %x,%D 日期(mm/dd/yy)

      %j 一年的第几天(001~366)

      %m 月份(01~12)

      %w 一个星期的第几天(0代表星期天)

      %W 一年的第几个星期(00~53,星期一为第一天)

      %y 年的最后两个数字(1999则是99)

          月份的英文表示:

        【January】  【February】  【March】  【April】   【May】   【June】   【July】  【August】  【September】  【October】  【November】  【December 】

  • 相关阅读:
    C语言中scanf()的用法
    Android学习笔记——Day3
    Android学习笔记——Day6
    Android学习笔记——Day5
    Android学习笔记——Day4
    Android学习笔记——Day2
    一个计时器按钮
    直方图均衡
    拉普拉斯算子进行图像边缘提取
    在jframe上显示超大号的文字
  • 原文地址:https://www.cnblogs.com/MenAngel/p/5539575.html
Copyright © 2020-2023  润新知