计算两个日期之间的天数Unix Shell



我想在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应该使用的当前日期(并不是所有"打印"模式都通用的;日期";。

最新更新