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
    如果不是标准格式,可以转换一下
    echo 19900101010101|awk ‘BEGIN{FIELDWIDTHS=“4 2 2 2 2 2”}NF+=0{print mktime($0)}’
    #631126861
    date +%s -d ‘1990-01-01 01:01:01’
    #631126861

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

more ccc.txt |head -2
2018 10 18 20 17 01
2018 10 18 20 20 01
more ccc.txt |head -2 |awk ‘{s1=mktime($0)} {print s1+60}’ |awk ‘{print strftime("%Y-%m-%d %H:%M:%S",$1)}’
2018-10-18 20:18:01
2018-10-18 20:21:01

  • 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

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值