我有两个变量。
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
我想计算日期时间差异 例如2013年10月1日星期二13:37:38 - 2013年10月1日星期二13:35:33 hh:mm:ss格式 并将其存储在另一个变量中。我不想使用PERL,AWK或SED。相反,我想使用普通的BASH Shell命令来实现它。请帮忙。
答案 0 :(得分: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"