Red de conocimiento informático - Conocimiento del nombre de dominio - Cómo escribir un script de shell para encontrar el número de días entre dos fechas.

Cómo escribir un script de shell para encontrar el número de días entre dos fechas.

#!/bin/sh

day_count()

{

Fecha=$1

año=${Fecha:0:4 }

mes=${Fecha:4:2}

día=${Fecha:6:2}

mes_ temp=1

Datenum=$día

mientras [ $mes_temp -lt $mes ]

hacer

caso $mes_temp en

1 |3|5|7|8|10|12)Datenum=`expr 31 $Datenum`;;

4|6|9|11)Datenum=`expr 30 $Datenum`;; p>

2) if [ `expr $año 100` ! = 0 ] amp;amp; [ `expr $año 4` == 0 ] || [ `expr $año 400` == 0 ] entonces

Datenum=`expr 29 $Datenum`

else

Datenum=`expr 28 $Datenum`

fi ;;

esac

mes_temp=$( ($month_temp 1))

done

echo $Datenum

}

read -p "Ingrese la primera fecha (fecha La el formato es AAAAMMDD, por ejemplo 19991219: ".por ejemplo 19991219):" Fecha1

read -p "Ingrese la segunda fecha (formato de fecha: AAAAMMDD, por ejemplo 19991219):" Fecha2

Datenum1=$(day_count $Date1)

Datenum2=$( day_count $Date2)

if [ $Date1 -ge $Date2 ]; añonum= `expr ${Fecha1:0:4}-${Fecha2:0:4}`

añonum=`expr $añonum \* 365`

Fechanum1=`expr $Datenum1 $yearnum `

echo "El número es `expr $Datenum1 - $Datenum2`"

else

yearnum=`expr ${Date2:0 :4} - ${Fecha1:0:4}`

añonum=`expr $añonum \* 365`

Datenum2=`expr $Fechanum2 $añonum `

echo "el número es `expr $Datenum2 - $Datenum1`"

fi