Retourner une valeur sur base d'une date
Résolu
Peter Parker
-
OlivrT Messages postés 323 Date d'inscription Statut Membre Dernière intervention -
OlivrT Messages postés 323 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
je voudrais trouver une commande ou une fonction qui, sur base d'une valeur qui représente une date au format YYYYMMDD, me retourne cette même valeur mais avec n jour en plus ou en moins.
Exemple:
v=20120210
nbre_jours=5
y=f_Add_Jours $v $nbre_jours
echo "$y"
Je travaille sur un système Solaris et mon shell est CSH.
je voudrais trouver une commande ou une fonction qui, sur base d'une valeur qui représente une date au format YYYYMMDD, me retourne cette même valeur mais avec n jour en plus ou en moins.
Exemple:
v=20120210
nbre_jours=5
y=f_Add_Jours $v $nbre_jours
echo "$y"
Je travaille sur un système Solaris et mon shell est CSH.
4 réponses
-
hello
en perl$ D=20120210 ; J=5 $ NEWD=$(perl -e 'use Time::Local;use POSIX qw(strftime);print strftime "%Y%m%d\n", localtime(timelocal(0,0,0,substr($ARGV[0],6,2),substr($ARGV[0],4,2)-1,substr($ARGV[0],0,4))+86400*$ARGV[1])' $D $J) $ $ echo $NEWD 20120215 $ $ J=-5 $ NEWD=$(perl -e 'use Time::Local;use POSIX qw(strftime);print strftime "%Y%m%d\n", localtime(timelocal(0,0,0,substr($ARGV[0],6,2),substr($ARGV[0],4,2)-1,substr($ARGV[0],0,4))+86400*$ARGV[1])' $D $J) $ $ echo $NEWD 20120205 $
-
Salut,
$ date -d '20120210 5 days' '+%Y%m%d' 20120215 $ date -d '20120210 5 days ago' '+%Y%m%d' 20120205 $
-
Cela ne fonctionne pas, j'ai le message d'erreur suivant :
date: illegal option -- d
usage: date [-u] mmddHHMM[[cc]yy][.SS]
date [-u] [+format]
date -a [-]sss[.fff]
Comment faites-vous pour affecter le résultat à une variable ?
Comme ceci ?
v='date -d '20120210 5 days' +%Y%m%d"'-
-
En complément pour Gnu-date (paquetage coreutils) : http://www.sunfreeware.com/introduction.html
-
-
salut,
eh oui :( UNIX dispose rarement de commande GNU (dont 'date'), et pour les calculs de date sur ces systèmes, il est (à ce que j'ai pu observer) recommandé de passer par des commandes externes, de plus en plus installées en standard, telles que awk, perl