+ -
当前位置:首页 → 问答吧 → shell 计算时间差求高手相助~~

shell 计算时间差求高手相助~~

时间:2011-02-22

来源:互联网

begin="2010-12-11"       
end="2010-12-20“

有如上两个变量,我想计算end与begin的时间差,即得到相差的天数~请问如何实现

作者: kkmm0105   发布时间: 2011-02-22

  1. BEGIN="2010-12-11"
  2. END="2010-12-20"
  3. D1=$(date --utc --date "$BEGIN" +%s)
  4. D2=$(date --utc --date "$END" +%s)

  5. diffSec=$((D2-D1))
  6. echo $((diffSec/86400))
复制代码
运行结果:
  1. kent$ ./dateDiff.sh      
  2. 9
复制代码
你可以自己修改脚本,比如
-接受2个字串参数
-相减后根据正负数,取绝对值
-取相差的天数,年数,分钟,小时,秒等等

作者: sk1418   发布时间: 2011-02-22

  1. begin='2010-12-11'
  2. end='2010-12-20'
  3. echo $(($(($(date +%s -d$end)-$(date +%s -d$begin)))/3600/24))
复制代码
先换算成秒,然后/3600/24

作者: 工藤*新一   发布时间: 2011-02-22

a=$(date -d "2010-12-11" +%s)
b=$(date -d "2010-12-20" +%s)
echo "($b-$a)/(60*60*24)" | bc

作者: zzy7186   发布时间: 2011-02-22

热门下载

更多