Problème avec la commande date [RESOLU]

Problème avec la commande date [RESOLU] - Codes et scripts - Linux et OS Alternatifs

Marsh Posté le 10-01-2007 à 12:13:16    

Bonjour à tous,
 
Je suis en train d'ecrire un script sous solaris 9 et j'ai un problème.
 
J'ai besoin de récupérer la date du jour - 15 jours...
 
J'ai vu sur plusieur forum cette commande :  
 
quinzeJoursAvant=$(date --date='15 days ago')
 
le truc, c'est que ça ne marche pas dans mon cas :(
 
bash-2.03$ date --date='15 days ago'
date: illegal option -- -
date: illegal option -- d
date: invalid argument -- te=15 days ago
usage:  date [-u] mmddHHMM[[cc]yy][.SS]
        date [-u] [+format]
        date -a [-]sss[.fff]

 
Une idée ? une solution ?
 
Merci :hello:


Message édité par jesusdebethune le 11-01-2007 à 12:12:11
Reply

Marsh Posté le 10-01-2007 à 12:13:16   

Reply

Marsh Posté le 10-01-2007 à 12:50:24    

Ca m'étonnerait que ça marche avec le "date" de Solaris.
Si ça marche ça doit être avec la version GNU.

Reply

Marsh Posté le 10-01-2007 à 13:23:22    

Il y a un truc super simple que tu peux faire, je ne sais pas si ca fonctionne sous Solaris, mais sous aix nickel:

TZ_ORI=$TZ
TZ=360 (24 heures * 15 jours) (si tu veux ajouter 15 jours tu mets -360)
date
TZ=$TZ_ORI


et zou
 
edit: petit oubli, pense a ajouter ta timezone actuelle (-1)
sous AIX la TZ ressemble a ca: NFT-1DFT,M3.5.0,M10.5.0 (avec les passages heure d'ete/hiver)
tu dois donc avoir (pour un truc propre mais bon ca sert pas a grand chose): TZ=NFT+359DFT,M3.5.0,M10.5.0
et j'ai pas envie de reflechir a ce que ca donne si on se trouve moins de 15 jours apres un changement d'heure ete/hiver... :pt1cable:


Message édité par zoidberg le 10-01-2007 à 13:38:38
Reply

Marsh Posté le 10-01-2007 à 15:25:28    

Je vous remerci pour vos réponse, mais la réponse de Zoidberg me parait un peu compiquer pour moi. Désolé :(
 
Y a t il une autr ecomande qui retourne la date ?

Reply

Marsh Posté le 10-01-2007 à 15:31:17    

attends, c tout ce qu'il y a de plus simple, ce que j'ai mis a la fin c'est pour que ca soit plus propre, mais la je vois pas comment faire plus simple, essaye:
TZ_ORI=$TZ
TZ=+359
date
TZ=$TZ_ORI


Message édité par zoidberg le 10-01-2007 à 15:31:40
Reply

Marsh Posté le 11-01-2007 à 11:47:46    

Merci pour ta réponse Zoidberg
 
Je écris ce petit script pour faire mes tests sur ce problème de date en incluant ton bout de code :
 
 
#!/bin/ksh
. $HOME/.profile
jour=`date +%d`
mois=`date +%m`
annee=`date +%Y`
 
echo "Le jour d'aujourd'hui est : $jour $mois $annee"
 
date
 
TZ_ORI=$TZ
TZ=+360
date
TZ=$TZ_ORI

 
 
Résultat :
 
bash-2.03$ ./purge.sh
Le jour d'aujourd'hui est : 11 01 2007
Thu Jan 11 11:44:13 MET 2007
Thu Jan 11 10:44:13 GMT 2007

 
Donc il passe en GTM et il y a un décalage d'une heure...
J'ai essyer de mettre des nombre plus important a la ligne TZ=+360, mais ca ne change rien
 
Merci encore pour ton aide

Reply

Marsh Posté le 11-01-2007 à 12:10:07    

Salutation !
 
J'ai trouvé ceci sur google : http://www.labo-sun.com/resource-F [...] olaris.htm
 
Il y est bien ecrit que :

Citation :

Le système Solaris ne permet pas l'ajout du champ " '-1 day' " ou d'un équivalent...


 
 
J'ai essayer ca :  
 
bash-2.03$ echo `TZ=MET+360 date +"%D"`
12/27/06

 
 :bounce: huhu ^^ ca marrrrrche  :hello:  
 
Merci Zoidberg pour le temps que tu m'as consacré  :jap:

Reply

Marsh Posté le 11-01-2007 à 13:56:54    

ton 1er script ne marche pas car tu modifies la valeur de la variable TZ en local donc la commande date ne voit pas la modif ...
 
donc effectivement, soit ta technique tout sur une ligne :
TZ=MET+360 date
 
soit en utilisant export pour rendre la nouvelle variable TZ globale :
export TZ=MET+360
date
export TZ=$TZ_ORI

Reply

Marsh Posté le 11-01-2007 à 15:43:15    

cool ;)
par contre je ne comprends pas bien pourquoi ca ne marche pas si tu le fais sur plusieurs ligne sans exporter la variable, je viens de tester (aix 5.3 ml3) et ca fonctionne:

#!/bin/ksh
date
TZ=+359
date


je lance:

Thu Jan 11 15:41:58 NFT 2007
Wed Dec 27 15:41:58  2006


bref, pas grave du moment que t'as pu faire ce que tu voulais ;)

Reply

Marsh Posté le 11-01-2007 à 17:29:47    

en faite je suis sur un serveur en SOLARIS. Ca fonctionne peut etre pas de la meme facon que sous AX. Merci encore

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed