Bash 以hh:mm:ss.ms格式计算时差 一般的 算例 其他: 不限于24小时 变量_2始终大于变量_1 工作代码
根据答案,这里是正在工作的代码 它做什么 下面发布的代码与上面的示例一样,使用时间格式hh:mm:ss.ms计算两个变量(Bash 以hh:mm:ss.ms格式计算时差 一般的 算例 其他: 不限于24小时 变量_2始终大于变量_1 工作代码,bash,Bash,根据答案,这里是正在工作的代码 它做什么 下面发布的代码与上面的示例一样,使用时间格式hh:mm:ss.ms计算两个变量(VARIABLE_1和VARIABLE_2)之间的时间差,并以相同格式(hh:mm:ss.ms)将计算结果保存在变量结果中 要将变量值传递给awk,请使用echo命令并添加$。严格来说,引号不是必需的,但一般来说,最好引用任何变量扩展,以防止空格和通配符被误解 DIFFERENCE_IN_MS=$(( VARIABLE_2_IN_MS - VARIABLE_1_IN_MS )
VARIABLE_1
和VARIABLE_2
)之间的时间差,并以相同格式(hh:mm:ss.ms)将计算结果保存在变量结果中
要将变量值传递给awk,请使用echo命令并添加$
。严格来说,引号不是必需的,但一般来说,最好引用任何变量扩展,以防止空格和通配符被误解
DIFFERENCE_IN_MS=$(( VARIABLE_2_IN_MS - VARIABLE_1_IN_MS ))
应该注意的是,在$(…)
中的变量引用中省略$
是可以的,但这是为数不多的情况之一。在正常使用中,您必须具有$
。例如以下任务:
RESIDUAL_DIFFERENCE_IN_MS=$DIFFERENCE_IN_MS
VARIABLE_1_IN_MS=$(echo "$VARIABLE_1" | awk -F':|.' '{print $1 * 60 * 60 * 1000 + $2 * 60 * 1000 + $3 * 1000 + $4}' )
VARIABLE_2_IN_MS=$(echo "$VARIABLE_2" | awk -F':|.' '{print $1 * 60 * 60 * 1000 + $2 * 60 * 1000 + $3 * 1000 + $4}' )
DIFFERENCE_IN_MS=$(( VARIABLE_2_IN_MS - VARIABLE_1_IN_MS ))
RESIDUAL_DIFFERENCE_IN_MS=$DIFFERENCE_IN_MS