IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Linux Discussion :

Ajout d'un certains nombre de mois sur une date


Sujet :

Linux

  1. #1
    Nouveau membre du Club
    Inscrit en
    Septembre 2006
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 51
    Points : 28
    Points
    28
    Par défaut Ajout d'un certains nombre de mois sur une date
    Bonjour,

    Je cherche à ajouter ou enlever n mois à la date courante.

    Par exemple :
    sAujourd'hui nous sommes le 20071106 et si je souhaite enlever 6 mois
    nous serions le 20070506. et si je souhaite enlever 5 ans ce serait 20021106 etc.


    J'avais déja la problématique pour ajouter ou soustraire la date courante et j'ai trouvé sur internet la fonction suivante qui fonctionne sous KSH :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    GetDate() 
    { # GetDate nDays [format] 
    # Exemple d'utilisation: export NAMEDIR=$(GetDate -1 '+%Y.%m.%d') 
     
    typeset -i nDays=$1; format=$2 
    eval $(echo $TZ | sed ' 
    s!\([^-0-9]*\)\([-0-9]*\)\(.*\)!typeset -i localOffset=\2;zon1=\1;zon2=\3!') 
    TZ=$zon1$((localOffset-24*nDays))$zon2 date $format 
     
    }

    Je souhaiterai l'adapter à ma problématique mais je n'y arrive pas.

    Pouvez vous m'aider?

    Merci d'avance

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    271
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Décembre 2006
    Messages : 271
    Points : 329
    Points
    329
    Par défaut
    Enlever des mois à la date courante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    n=6 ; date "+%Y%m%d" -d "$n month ago"
    Ajouter des mois à la date courante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    n=6 ; date "+%Y%m%d" -d "$n month"

  3. #3
    Nouveau membre du Club
    Inscrit en
    Septembre 2006
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 51
    Points : 28
    Points
    28
    Par défaut
    je n'arrive pas à faire fonctionner votre méthode. il écrit uniquement la date du jour et pas le reste.

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    271
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Décembre 2006
    Messages : 271
    Points : 329
    Points
    329
    Par défaut
    Peut être une version différente de "date" ?

    Pour ma part, j'ai :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    date --version
    date (coreutils) 5.2.1

  5. #5
    Nouveau membre du Club
    Inscrit en
    Septembre 2006
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 51
    Points : 28
    Points
    28
    Par défaut
    Apparemment je n'ai pas la bonne version....


    EN option il ne reconnait pas -d.
    Y a t'il une autre méthode?
    Merci d'avance

Discussions similaires

  1. Avis sur un certain nombre de sociétés sur Nantes
    Par downfall dans le forum SSII
    Réponses: 11
    Dernier message: 03/10/2011, 14h17
  2. [Vxi3] Ajout nombre de mois a une date
    Par spopo69 dans le forum Deski
    Réponses: 3
    Dernier message: 02/09/2011, 07h55
  3. [Calendar] Ajouter un nombre de mois sur une date
    Par Diablo_22 dans le forum Collection et Stream
    Réponses: 10
    Dernier message: 24/06/2010, 11h53
  4. Réponses: 2
    Dernier message: 25/03/2009, 09h45
  5. Réponses: 3
    Dernier message: 04/06/2007, 14h11

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo