我有一个日志,在这个日志中我有这个时间:14:03:26,59914:03:26,78814:03:26,92414:03:27,125
如何以毫秒为单位计算两个时间之间的差异?如何提问:
LOGTIME1=14:03:26,599
LOGTIME2=14:03:26,788
CONVERT1=$(date +d $LOGTIME1 +%s.%N)
CONVERT2=$(date +d $LOGTIME1 +%s.%N)
TOTAL=$(CONVERT2 - CONVERT1)
但我没有得到这个工作。我收到错误:日期:额外的操作数' 14:03:26,599 '我相信这是因为";和599年……但我不知道如何处理它。
您可以使用:
bc -l <<< "$(date -d "$LOGTIME2" '+%s.%N') - $(date -d "$LOGTIME1" '+%s.%N')"
.189000000
请注意,您必须在date
中使用-d
,并使用bc -l
进行浮点运算,而bash只进行整数运算。