• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

MenAngel

  • 博客园
  • 联系
  • 订阅
  • 管理

公告

View Post

每天一个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 】

posted on 2016-05-30 08:49  MenAngel  阅读(311)  评论(0)    收藏  举报

刷新页面返回顶部
 
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3