Date de la veille sur date donnée

Résolu
Bonjour,

J'aimerai pouvoir sortir la date de la veille sur une date donnée. C'est à dire si je tape 23/03/2009 je veux que cela me retourne 22/03/2009.

Est-ce que vous pouvez m'aider ?
Merci
Mickaël

Je suis sur AIX 5.3.0.0
Configuration: Windows XP
Safari 525.19

3 réponses

  1. Modérateur
    Salut,
    $ date -d '03/23/2009 1 days ago' +%d/%m/%Y
    22/03/2009
    Note que la date doit être donnée au format MM/DD/YYYY
    0
    1. Bonjour,

      Ca ne marche pas sur mon OS je n'ai pas l 'option -d sur la commande date
      Mickaël
      0
      1. J'ai trouvée çà =>

        Date()
        {
        day=`echo $1|awk -F"/" '{print $1}'`
        month=`echo $1|awk -F"/" '{print $2}'`
        year=`echo $1|awk -F"/" '{print $3}'`

        if [ $day -eq 01 ]
        then
        if [ $month -eq 01 ]
        then
        # make the month as 12
        month=12

        # deduct the year by one
        year=`expr $year - 1`
        else
        # deduct the month by one
        month=`expr $month - 1`
        fi

        day=`cal $month $year | awk 'NF != 0{ last = $0 }; END{ print last }' | awk '{ print $NF }'`
        else
        day=`expr $day - 1`
        fi

        printf "%02d/%02d/%d\n" $day $month $year
        }
        0