假设有date_start=2013-05-10,date_end=2013-05-15,在bash中计算二者的时间间隔的方式是:
1 把YYYY-MM-DD格式的起始时间和YYYY-MM-DD格式的结束时间转化为秒格式
2 计算起始时间和结束时间间隔的秒数
3 计算起始时间和结束时间间隔的天数
1 把YYYY-MM-DD格式的起始时间和YYYY-MM-DD格式的结束时间转化为秒格式
date_start_second=`date -d"$date_start" +"%s"`
date_end_second=`date -d"$date_end" +"%s"`
验证一下,
[@uer1 ~]$ echo $date_start_second
1368115200
[@uer1 ~]$ echo $date_end_second
1368547200
2 计算起始时间和结束时间间隔的秒数
interval=$[$date_end_second-$date_start_second]
验证一下,
[@uer1 ~]$ echo $interval
432000
3 计算起始时间和结束时间间隔的天数
interval_day=$[$interval/86400]
验证一下,
[@uer1 ~]$ echo $interval_day
5