在linux Shell中并没有毫秒级的时间单位,只有秒和纳秒其实这样就足够了,
因为纳秒的单位范围是(000000000..999999999),所以从纳秒也是可以的到毫秒的。
1秒=1000毫秒(ms), 1毫秒=1/1000秒(s);
1秒=1000000 微秒(μs), 1微秒=1/1000000秒(s);
1秒=1000000000 纳秒(ns),1纳秒=1/1000000000秒(s);
1秒=1000000000000皮秒 1皮秒==1/1000000000000秒。
直接上图再说吧,各位看官请
datetime1=`date "+%s#%N"`
#获取当前时间戳和纳秒
#例如:1475124846#521773003
#前面是默认时间戳,单位是秒,也就是1970-0-0 0:0:0到当前时间的秒数,
#后面是当前这一秒里面毫秒
具体的date命令各种参数可以查看man,或者点击这个传送门
Linux牛逼命令大全--date命令_Linux date 命令用法详解:显示或设置系统时间与日期
datetime2=`echo $datetime1 | cut -d"#" -f1` #取出秒 datetime3=`echo $datetime1 | cut -d"#" -f2` #取出纳秒 namiaostamp=$(($datetime2*1000000000+ $datetime3)) haomiaostamp=$(($datetime2*1000+`date $datetime3/1000000)) echo $datetime1 1475125194#244987872 echo $datetime2 1475125194 echo $datetime3 244987872 echo $namiaostamp 1475125194244987872 echo $haomiaostamp 1475125194244
大致算法就是这样吧,其实如果是纳秒级可以不用算,直接date "+%s%N"就好了,但是这里主要是说这个算法,所以可能看上去比较繁琐。
欢迎加2000人技术QQ群一起学习探讨linux相关知识:100094104
-
« 上一篇:
别人家的机房:最强布线让处女座无话可说