1. 程式人生 > >awk 內建時間函式

awk 內建時間函式

  • mktime建立指定時間
    mktime( YYYY MM DD HH MM SS[ DST]) 注意格式,必須都是空格分割。
    echo “2014-03-27 17 26 54,” |awk -F”,” ‘{s1=mktime($1)} {print s1}’

1375608414
more timeSum.txt |sed -e ‘s/[-:]/ /g’|awk -F”,” ‘{s1=mktime(1);s2=mktime(2);s3=s2-s1} {print s3} ’
1450
1449
1509
more timeSum.txt
2018-03-27 17:26:54,2018-03-27 17:51:04
2018-03-27 17:26:55,2018-03-27 17:51:04
2018-03-27 17:26:55,2018-03-27 17:52:04

  • strftime日期和時間格式說明符
    格式 描述
    %a 星期幾的縮寫(Sun)
    %A 星期幾的完整寫法(Sunday)
    %b 月名的縮寫(Oct)
    %B 月名的完整寫法(October)
    %c 本地日期和時間
    %d 十進位制日期
    %D 日期 08/20/99
    %e 日期,如果只有一位會補上一個空格
    %H 用十進位制表示24小時格式的小時
    %I 用十進位制表示12小時格式的小時
    %j 從1月1日起一年中的第幾天
    %m 十進位制表示的月份
    %M 十進位制表示的分鐘
    %p 12小時表示法(AM/PM)
    %S 十進位制表示的秒
    %U 十進位制表示的一年中的第幾個星期(星期天作為一個星期的開始)
    %w 十進位制表示的星期幾(星期天是0)
    %W 十進位制表示的一年中的第幾個星期(星期一作為一個星期的開始)
    %x 重新設定本地日期(08/20/99)
    %X 重新設定本地時間(12:00:00)
    %y 兩位數字表示的年(99)
    %Y 當前月份
    %Z 時區(PDT)
    %% 百分號(%)

  • systime()得到時間戳,返回從1970年1月1日開始到當前時間(不計閏年)的整秒數
    得到時間戳,返回從1970年1月1日開始到當前時間(不計閏年)的整秒數
    echo |awk ‘{s1=systime()} {print s1}’
    1522391726
    date +%s
    1522391727