Date de la veille sur date donnée

Résolu/Fermé
kael999 Messages postés 13 Date d'inscription mercredi 18 mars 2009 Statut Membre Dernière intervention 15 mars 2011 - 27 mars 2009 à 16:02
kael999 Messages postés 13 Date d'inscription mercredi 18 mars 2009 Statut Membre Dernière intervention 15 mars 2011 - 30 mars 2009 à 10:36
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

3 réponses

jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 895
27 mars 2009 à 17:05
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
kael999 Messages postés 13 Date d'inscription mercredi 18 mars 2009 Statut Membre Dernière intervention 15 mars 2011
30 mars 2009 à 08:44
Bonjour,

Ca ne marche pas sur mon OS je n'ai pas l 'option -d sur la commande date
Mickaël
0
kael999 Messages postés 13 Date d'inscription mercredi 18 mars 2009 Statut Membre Dernière intervention 15 mars 2011
30 mars 2009 à 10:36
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