我如何使用Shell脚本减去2个时间戳

我需要使用shell脚本减去以下两次

var1=2019-11-14-03.00.02.000000

var2=2019-11-14-03.00.50.000000

输出应为00-00-00-00.00.48.00000

yangdebin7 回答:我如何使用Shell脚本减去2个时间戳

首先使用以下命令将var1var2转换为以秒为单位的日期(自纪元以来):

sec1=$(date --date $var1 +%s)
...

使用bash数学运算符计算差异

delta=$((sec1 - sec2))

最后将其转换回可读格式

date --date @1502938801"$delta"
,

如我的评论中所述,headers$http({ Method: 'GET',url: 'http://localhost:50515/api/employees',headers: { 'api-key': 'ba741c13417b7775524dbf0f417cefc4' },}).then(function (result) { $scope.Getemployees = result.data; }); 是无效的日期格式,无法通过var1选项传递给GNU var2。您必须先将

设置为从纪元转换为秒
  • 删除每个变量的日期和时间部分之间的date
  • 单独隔离时间,
  • 删除毫秒
  • 将所有-d替换为'-'
  • 使用'.'恢复与时间间隔的毫秒数
  • 将每个重新格式化的字符串传递给':',并用重新格式化的日期和时间分隔空格。

Bash提供了参数替换,可以非常轻松地处理每个参数。

在计算了两个时期以来的时间并计算出差后,您必须手动计算年,月,日,小时,分钟,秒和毫秒的差,以便输出差,并且必须格式化输出使用'.'和整数转换说明符,同时使用适当的 field-width 前导零修饰符。

将其完全放在一起(并使用date -d"$dt $tm" +%sprintf近似),您可以这样做:

365-day/year

注意:您可以进一步调整月份和年份/ le年的计算-留给您)

使用/输出示例

30-day/mo

仔细检查一下,如果还有其他问题,请告诉我。

本文链接:https://www.f2er.com/3104923.html

大家都在问