shell-script – ¿Cómo comparar dos fechas en un caparazón?

Pregunta:

¿Cómo se pueden comparar dos fechas en un caparazón?

Aquí hay un ejemplo de cómo me gustaría usar esto, aunque no funciona como está:

todate=2013-07-18
cond=2013-07-15

if [ $todate -ge $cond ];
then
    break
fi                           

¿Cómo puedo lograr el resultado deseado?

Respuesta:

Aún falta la respuesta correcta:

todate=$(date -d 2013-07-18 +%s)
cond=$(date -d 2014-08-19 +%s)

if [ $todate -ge $cond ];
then
    break
fi  

Tenga en cuenta que esto requiere la fecha de GNU. La sintaxis de date equivalente para la date BSD (como la que se encuentra en OSX de forma predeterminada) es date -j -f "%F" 2014-08-19 +"%s"

Leave a Comment

Your email address will not be published. Required fields are marked *

web tasarım