美文网首页
Linux date命令的用法

Linux date命令的用法

作者: 轻飘飘D | 来源:发表于2020-11-27 16:03 被阅读0次

    1.語法

    date [-u] [-d datestr] [-s datestr] [--utc] [--universal] [--date=datestr] [--set=datestr] 
         [--help] [--version] [+FORMAT] [MMDDhhmm[[CC]YY][.ss]]
    
    参数说明:
    -d datestr : 显示 datestr 中所设定的时间 (非系统时间)
    --help : 显示辅助讯息
    -s datestr : 将系统时间设为 datestr 中所设定的时间
    -u : 显示目前的格林威治时间
    --version : 显示版本编号
    
    補充
    -d<字符串>:显示字符串所指的日期与时间。字符串前后必须加上双引号; 
    -s<字符串>:根据字符串来设置日期与时间。字符串前后必须加上双引号; 
    

    2.日期格式字符串列表

    %Y 年份(以四位数来表示)。 
    %m 月份(以01-12来表示)。 
    %d 日期(以01-31来表示)。 
    %H 小时(以00-23来表示)。 
    %M 分钟(以00-59来表示)。 
    %S 秒(以本地的惯用法来表示)。 
    
    %s 总秒数。起算时间为1970-01-01 00:00:00 UTC。
    
    %I 小时(以01-12来表示)。 
    %K 小时(以0-23来表示)。 
    %l 小时(以0-12来表示)。 
    %P AM或PM。 
    %r 时间(含时分秒,小时以12小时AM/PM来表示)。 
     
    %T 时间(含时分秒,小时以24小时制来表示)。 
    %X 时间(以本地的惯用法来表示)。 
    %Z 市区。 
    %a 星期的缩写。 
    %A 星期的完整名称。 
    %b 月份英文名的缩写。 
    %B 月份的完整英文名称。 
    %c 日期与时间。只输入date指令也会显示同样的结果。 
    
    %D 日期(含年月日)。 
    %j 该年中的第几天。 
    
    %U 该年中的周数。 
    %w 该周的天数,0代表周日,1代表周一,异词类推。 
    %x 日期(以本地的惯用法来表示)。 
    %y 年份(以00-99来表示)。 
    
    %n 在显示时,插入新的一行。 
    %t 在显示时,插入tab。 
    MM 月份(必要) 
    DD 日期(必要) 
    hh 小时(必要) 
    mm 分钟(必要)
    ss 秒(选择性) 
    

    3.案例

    #yyyy-mm-dd 格式顯示日期
    [oracle@xag182 test_tar]$ date +"%Y-%m-%d" 
    2020-11-27
    
    #yyyy-mm-dd hh24:mi:ss 格式顯示日期
    [oracle@xag182 test_tar]$ date +"%Y-%m-%d %H:%M:%S"
    2020-11-27 15:15:19
    
    #轉格式
    [oracle@xag182 test_tar]$ date -d "2020-12-12 15:41:30" +"%Y/%m/%d %H:%M:%S"
    2020/12/12 15:41:30
    
    

    4.日期計算

    起算时间为1970-01-01 00:00:00 UTC 以來的總秒數
    [oracle@xag182 test_tar]$ date +%s
    1606464154
    [oracle@xag182 test_tar]$ date +%s
    1606464160
    
    1年前
    [oracle@xag182 test_tar]$ date +"%Y-%m-%d %H:%M:%S" -d "-1 year"
    2019-11-27 15:50:23
    
    1年後
    [oracle@xag182 test_tar]$ date +"%Y-%m-%d %H:%M:%S" -d "+1 year"
    2021-11-27 15:50:37
    
    1月前
    [oracle@xag182 test_tar]$ date +"%Y-%m-%d %H:%M:%S" -d "-1 month"
    2020-10-27 15:50:47
    
    1月後
    [oracle@xag182 test_tar]$ date +"%Y-%m-%d %H:%M:%S" -d "+1 month"
    2020-12-27 15:50:56
    
    1天前
    [oracle@xag182 test_tar]$ date +"%Y-%m-%d %H:%M:%S" -d "-1 day"
    2020-11-26 15:51:12
    
    1小時前
    [oracle@xag182 test_tar]$ date +"%Y-%m-%d %H:%M:%S" -d "-1 hour"
    2020-11-27 14:51:21
    
    30分鐘前
    [oracle@xag182 test_tar]$ date +"%Y-%m-%d %H:%M:%S" -d "-30 minute"
    2020-11-27 15:21:37
    
    120分鐘前
    [oracle@xag182 test_tar]$ date +"%Y-%m-%d %H:%M:%S" -d "-120 second"
    2020-11-27 15:49:53
    
    1天後再1小時後(即25小時後)
    [oracle@xag182 test_tar]$ date +"%Y-%m-%d %H:%M:%S" -d "+1 day +1 hour"
    2020-11-28 16:54:50
    
    1天后再小時前(即23小時後)
    [oracle@xag182 test_tar]$ date +"%Y-%m-%d %H:%M:%S" -d "+1 day -1 hour"
    2020-11-28 14:55:02
    

    5.前後時間差

    [oracle@xag182 test_tar]$ v_start=$(date +%s)
    
    ...
    
    [oracle@xag182 test_tar]$ v_end=$(date +%s)
    [oracle@xag182 test_tar]$ v_difference=$(( v_end - v_start ))
    [oracle@xag182 test_tar]$ echo $v_difference
    14
    

    相关文章

      网友评论

          本文标题:Linux date命令的用法

          本文链接:https://www.haomeiwen.com/subject/xouxwktx.html