我想在unix shell中计算两个日期之间的天数。我试着做一个减法,但没有用。这是我的脚本
VAR1=$1
VAR2=$2
v_date_deb=`echo ${VAR1#*=}`
v_date_fin=`echo ${VAR2#*=}`
dif = ($v_date_deb - $v_date_fin)
echo dif
if [ "$v_date_deb" = "" ]
then
echo "Il faut saisir la date debut.."
exit
fi
if [ "$v_date_fin" = "" ]
then
echo "Il faut saisir la date fin.."
exit
fi
一次尝试(但在黑暗中拍摄,因为我们不知道您的VAR1
变量中有什么(
ts1=$(date -d "${VAR1#*=}" +"%s")
ts2=$(date -d "${VAR2#*=}" +"%s")
dt=$(( (ts2 - ts1) / 86400 ))
请注意上面William Pursell的评论:此解决方案取决于您的";日期";版本Date不是bash的内置命令。并且,特别地,-d
选项(当在"打印日期"模式中使用时,它允许使用指定的日期而不是date
应该使用的当前日期(并不是所有"打印"模式都通用的;日期";。