schwuler Posté(e) le 4 novembre 2014 Partager Posté(e) le 4 novembre 2014 Bonjour, dans le cadre d'un script qui archive les fichiers du repertoire courant dans un repertoire qui doit porter en nom une date, j'ai besoin de récupérer la date d'hier. Avec la date du jour, pas de soucis : DS213> date +%F 2014-11-04 DS213> Mais quand je veux récupérer la date d'hier, impossible, je n'ai pas la bonne synthaxe, Pourtant quand je regarde les exemples sur internet, il ne me semble pas m'etre trompé. Et pas de man installé sur le syno, du coup je n'ai pas d'exemple d'utilisation DS213> date --date 'yesterday' date: invalid date 'yesterday' DS213> date --date date: option '--date' requires an argument BusyBox v1.16.1 (2014-05-29 11:39:14 CST) multi-call binary. Usage: date [OPTIONS] [+FMT] [TIME] Display time (using +FMT), or set time Options: [-s,--set] TIME Set time to TIME -u,--utc Work in UTC (don't convert to local time) -R,--rfc-2822 Output RFC-2822 compliant date string -I[sPEC] Output ISO-8601 compliant date string SPEC='date' (default) for date only, 'hours', 'minutes', or 'seconds' for date and time to the indicated precision -r,--reference FILE Display last modification time of FILE -d,--date TIME Display TIME, not 'now' -D FMT Use FMT for -d TIME conversion Recognized TIME formats: hh:mm[:ss] [YYYY.]MM.DD-hh:mm[:ss] YYYY-MM-DD hh:mm[:ss] [[[[[YY]YY]MM]DD]hh]mm[.ss] DS213> j'ai essayé avec '1 day ago', mais ca ne fonctionne pas non plus. Si quelqu'un peut me mettre sur la voie.. merci seb 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
gaetan.cambier Posté(e) le 4 novembre 2014 Partager Posté(e) le 4 novembre 2014 (modifié) voici : echo $((`date "+%s"` - 86400 )) | perl -e 'print localtime(<>) . "n";' Modifié le 4 novembre 2014 par Gaetan Cambier 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Mike913 Posté(e) le 4 novembre 2014 Partager Posté(e) le 4 novembre 2014 Tu as aussi: echo `TZ=MET+24 date +"%d/%m/%Y %H:%M:%S"` 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
schwuler Posté(e) le 5 novembre 2014 Auteur Partager Posté(e) le 5 novembre 2014 Merci messieurs. J'ai tésté les 2, Pour Gaetan, je n'ai pas perl d'installé, du coup ca ne fonctionne pas. PourMike913, c'est pile poil ce qu'il me fallait, j'ai juste virer les '/' car je ne peux pas nommé un repertoire avec des '/'/ echo `TZ=MET+24 date +"%d-%m-%Y"` Encore merci, seb 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
gaetan.cambier Posté(e) le 5 novembre 2014 Partager Posté(e) le 5 novembre 2014 (modifié) Toute façon, je pense que la manière de Mike reste plus rapide. par contre, c'est bizarre, mais avec l'option de mike, l'heure est pas bonne je ne sais pas vraiment pourquoi, mais faut plutot utiliser la commande suivante pour conserver l'heure correcte : echo `TZ=MET+23 date +"%d/%m/%Y %H:%M:%S"` si quelqu'un a une explication sur le 23 et pas 24 pour que ca fonctionne ... Modifié le 5 novembre 2014 par Gaetan Cambier 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
CoolRaoul Posté(e) le 5 novembre 2014 Partager Posté(e) le 5 novembre 2014 Autre approche: /bin/date -D %s -d $(( $(/bin/date +%s) - 86400)) +"%d/%m/%Y %H:%M:%S" pas besoin de perl La date est calculée avec le timezone courant. NB: J'ai mis le chemin explicite "/bin/date" au cas ou certains auraient bidouillé le PATH avec une autre commande "date" par défaut. 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
gaetan.cambier Posté(e) le 5 novembre 2014 Partager Posté(e) le 5 novembre 2014 Autre approche: /bin/date -D %s -d $(( $(/bin/date +%s) - 86400)) +"%d/%m/%Y %H:%M:%S" pas besoin de perl La date est calculée avec le timezone courant. NB: J'ai mis le chemin explicite "/bin/date" au cas ou certains auraient bidouillé le PATH avec une autre commande "date" par défaut. En fait c'est a ça que j'avais voulu arriver mais sans succès :s 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés
Rejoindre la conversation
Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.