用Linux shell 计算两个时间差

1、在日志中有两条记录
id 开 始 时 间 结 束 时 间
0dedffee485e7ddbbff1236cfc0d91 2018-06-28 16:55:37 2018-06-28 16:55:52
122dw049dc21b0a7dcdfegeat8c8 2018-06-28 17:21:01 2018-06-28 17:21:23
如何用linux shell 命令计算出:(结束时间 - 开始时间)的秒数?

拿到开始和结束时间字串的基础上的。
start=date +%s -d "2018-06-28 16:55:37"
end=date +%s -d "2018-06-28 16:55:52"
echo $(($end-$start))

如果你的日志文件输出格式是上述的话,还有如下方法:
cat 日志文件 | awk ‘/^000/{
start=$2 " " $3
end=$4 " " $5
stm=mktime(gensub(/[:-]/, " ", "g", start))
etm=mktime(gensub(/[:-]/, " ", "g", end))
print $1 " - " etm-stm
}‘

原文地址:http://blog.51cto.com/9741660/2126220

时间: 2024-09-30 11:41:28

用Linux shell 计算两个时间差的相关文章

Linux shell 计算两个文件的并集、交集、差集

假设我们现在有两个文件 a.txt .b.txt a.txt 中的内容如下: a c 1 3 d 4 b.txt 中的内容如下: a b e 2 1 5 # Example 01 计算并集: [[email protected]_81_181_centos ~]# sort -u a.txt b.txt 1 2 3 4 5 a b c d e [[email protected]_81_181_centos ~]# # Exmaple 02 计算交集: [[email protected]_81

计算两个时间差的两个函数

计算两个时间差的两个函数  两个时间之差- (NSString *)intervalFromLastDate: (NSString *) dateString1 toTheDate:(NSString *) dateString2{NSArray *timeArray1=[dateString1 componentsSeparatedByString:@"."];dateString1=[timeArray1 objectAtIndex:0]; NSArray *timeArray2=

PHP计算两个时间差的方法

<?php //PHP计算两个时间差的方法 $startdate="2010-12-11 11:40:00"; $enddate="2012-12-12 11:45:09"; $date=floor((strtotime($enddate)-strtotime($startdate))/86400); $hour=floor((strtotime($enddate)-strtotime($startdate))/86400/3600); $minute=flo

根据时间戳计算两个时间差

/**      * 两个时间相差距离多少天多少小时多少分多少秒  <br>     * 时间参数为 Unix时间戳     * @param str1 时间参数 1 格式:1407132214     * @param str2 时间参数 2 格式:1407132214     * @return String 返回值为:xx天xx小时xx分xx秒      */     public static String getDistanceTime(String str1, String str

php计算两个时间差

/**  * 计算两个时间差  * @param  [type] $start [description]  * @param  [type] $end   [description]  * @return [type]        [description]  */ function cdate($start,$end) {     $begin_time = strtotime($start);     $end_time   = strtotime($end); if($begin_ti

db2和oracle sql 语句中计算两个时间差的语法

db2 sql语句中计算两个日期相差的语法 结束日期为:2015-10-10  11:30:00 开始日期为:2015-09-09  10:40:00 (1)timestampdiff(8,char(结束时间-开始时间) )(加时分秒计算,会舍去零数)值为744小时 (2)(days(结束时间)-days(开始时间))*24 +hour(结束时间)-hour(开始时间) (不加时分秒计算)值为745小时 (3)Days(结束日期)-days(开始日期)的值为31天 (4)Day(结束日期)-da

java中计算两个时间差

java计算时间差及比较时间大小 比如:现在是2004-03-26 13:31:40 过去是:2004-01-02 11:30:24 我现在要获得两个日期差,差的形式为:XX天XX小时XX分XX秒 方法一: DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); try {  Date d1 = df.parse("2004-03-26 13:31:40"); Date d2 = df.parse(&

javascript计算两个时间差

其实,javascript计算时间差的方式非常简单,如果是默认的Date()类型,直接相减就是相差的毫秒 var d1 = new Date('2016/03/28 10:17:22'); var d2 = new Date('2016/03/28 11:17:22'); console.log(parseInt(d2 - d1));//两个时间相差的毫秒数 console.log(parseInt(d2 - d1) / 1000);//两个时间相差的秒数 console.log(parseIn

C# 使用TimeSpan计算两个时间差

可以加两个日期之间任何一个时间单位. private string DateDiff(DateTime DateTime1, DateTime DateTime2) {string dateDiff = null; TimeSpan ts = DateTime1.Subtract(DateTime2).Duration(); dateDiff = ts.Days.ToString()+"天"+ ts.Hours.ToString()+"小时"+ ts.Minutes