0

我有 2 个变量。

GMDCOM 变量以以下格式存储日期时间

Tue Oct  1 13:37:38 2013
Tue Oct  1 13:32:40 2013
Tue Oct  1 13:37:53 2013

GMDRRS 变量以以下格式存储日期时间

Tue Oct  1 13:35:33 2013
Tue Oct  1 13:34:33 2013
Tue Oct  1 13:32:33 2013

我想以 hh:mm:ss 格式计算日期时间差,例如 Tue Oct 1 13:37:38 2013 - Tue Oct 1 13:35:33 2013 并将其存储在另一个变量中。我不想使用 PERL、AWK 或 SED。相反,我想使用普通的 BASH Shell 命令来实现它。请帮忙。

4

1 回答 1

1

尝试关注

#!/bin/bash

GMDCOM='Tue Oct  1 13:37:38 2013'
GMDRRS='Tue Oct  1 13:35:33 2013'

d1=$(date -d "$GMDCOM" +%s)
d2=$(date -d "$GMDRRS" +%s)
dd=$(($d1-$d2))

ss=$(($dd%60))
mm=$((($dd/60)%60))
hh=$((($dd/3600)%60))

printf "%02d:%02d:%02d\n" "$hh" "$mm" "$ss"
于 2013-11-12T06:54:18.643 回答