Problème avec la commande date [RESOLU] - Codes et scripts - Linux et OS Alternatifs
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.
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  | 
 
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... 
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 ? 
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
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
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 
 
  huhu ^^ ca marrrrrche
 huhu ^^ ca marrrrrche   
  
 
Merci Zoidberg pour le temps que tu m'as consacré   
 
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
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  | 
 
je lance: 
| Thu Jan 11 15:41:58 NFT 2007  | 
 
bref, pas grave du moment que t'as pu faire ce que tu voulais 
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
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
Message édité par jesusdebethune le 11-01-2007 à 12:12:11