计算两日期间隔天数
#!/bin/bash
#纪元时间(epoch time):将时间指定为1970年1月1日午夜后的整数秒。
#获得2020年1月1日的纪元时间
#date -d : 以任意格式指定特定日期
date -d "July 8, 2020" +%s
date1="July 8, 2020"
date2="July 13, 2023"
time1=$(date -d "$date1" +%s)
time2=$(date -d "$date2" +%s)
echo "************ case1 用bash计算器计算间隔天数 ***************"
days_bc=$(bc << EOF
diff_bc=( $time2 - $time1 )
secondsinday_bc=( 24 * 60 * 60 )
(diff_bc / secondsinday_bc)
EOF
)
echo "The difference between $date2 and $date1 is $days_bc"
echo "************ case2 用[ ]计算间隔天数 ***************"
diff_bracket=$[ $time2 - $time1 ]
secondsinday_bracket=$[24 * 60 * 60]
days_bracket=$[$diff_bracket / $secondsinday_bracket]
echo "The difference between $date2 and $date1 is $days_bracket"
echo "************ case3 用expr计算间隔天数 ***************"
diff_expr=$(expr $time2 - $time1)
secondsinday_expr=$(expr 24 \* 60 \* 60)
days_expr=$(expr $diff_expr / $secondsinday_expr)
echo "The difference between $date2 and $date1 is $days_expr"
运行结果: