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

JavaScript Discussion :

Calcul sur date


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 11
    Par défaut Calcul sur date
    Bonjour/Bonsoir
    Je cherche à savoir comment faire un calcul sur une date, à savoir :
    j'entre une date (format : jj/MM/AAAA) et sur celle ci je voudrai ajouter x mois et ce qui m'embête le plus c'est que l'année peut changer en fonction dunombre de mois ajouté.J'ai beau chercher, mais je n'ai pas trouvé de script déjà fait. Quelqu'un aurait il une petite idée à ce propos.
    Par avance merci

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    98
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 98
    Par défaut
    Salut crickeur,

    Tu regardes juste les mois donc on peut rajouter 8mois, 6mois, etc... mais pas 6mois et 10jours ?

    Si c'est le cas tu peux pas faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    function calcDate(maDate, nbMois)
    {
    var jour = maDate.split('/')[0];
    var mois = maDate.split('/')[1];
    var annee = maDate.split('/')[2];
     
    if ((parseInt(mois) + parseInt(nbMois)) > 12 )
    {
         mois = (parseInt(mois) + parseInt(nbMois) - 12;
         annee = parseInt(annee) + 1;
    }
    alert(maDate + ' + ' + nbMois + ' = ' + jour + '/' + mois + '/' + annee); 
    }
    J espere que c'est bien ce que tu cherchais. Bonne soirée

  3. #3
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    Sinon en passant par la date système

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    setDate() setMonth() setFullYear()
    getDate getMonth() getFullYear()
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  4. #4
    Expert confirmé
    Avatar de le_chomeur
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2006
    Messages
    3 653
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 3 653
    Par défaut
    dans ce style :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>Document sans nom</title>
    <script type="text/javascript">
    Date.prototype.addMonth = function (nbMonth){
     
    			var firstD = parseInt(this.getDate());
     
    			var firstM = parseInt(this.getMonth());
     
    			var firstY = parseInt(this.getFullYear());
     
    			var date1 = new Date();
     
    			date1.setDate( firstD );
    			//On gère si mois courant + nombres de mois > 12
    			var nbMonthSupp = (firstM + nbMonth) % 12 ;
     
    			if(nbMonthSupp != 0){
    				//Nombre de mois en fonction du nombre d'années en plus
    				this.setMonth(nbMonthSupp);
    				//Calcul du nombre d'année supplémentaire
    				var nbYearSupp = parseInt((firstM + nbMonth) / 12);
    				this.setFullYear(firstY + nbYearSupp);
    			}
    			else{
    				this.setMonth( firstM + nbMonth); //Sinon on ajoute simplement le nombre de mois
    				this.setFullYear(firstY);
    			}
    			}
     
    var toto = new Date();
    toto.addMonth(10);
    alert(toto);
    var toto = new Date();
    toto.addMonth(3);
    alert(toto);
     
    </script>
    </head>
     
    <body>
    </body>
    </html>

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 11
    Par défaut Calcul sur date
    Merci pour votre aide à tous, je commencerai par Devin59
    J'ai un peu de mal à faire tourner ta fonction, ci dessous mon code, peut être que j'ai oublié un paramètre par là

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    <input type="text" id="champ" name="mavar"><br/><br/>
    <input type="text" id="champ2" name="mavar2">
    <input type="text" id="entree" name="entreeparc" value="" onChange="javascript:calcDate(30/10/2008,24);">
    <a href='javascript:popup()'> Tableau des taux de reprise</a>
     
     
    <SCRIPT language="JavaScript">
    <!--   // Cache ce qui suit aux navigateurs qui ne supportent pas JavaScript
     
    	function calcDate(maDate, nbMois)
    {
    var jour = maDate.split('/')[0];
    var mois = maDate.split('/')[1];
    var annee = maDate.split('/')[2];
     
    if ((parseInt(mois) + parseInt(nbMois)) > 12 )
    {
         mois = (parseInt(mois) + parseInt(nbMois) - 12;
         annee = parseInt(annee) + 1;
    }
    alert(maDate + ' + ' + nbMois + ' = ' + jour + '/' + mois + '/' + annee); 
    }
     
    //-->  // Fin de la partie cachée
    </SCRIPT>
    </body>
    Pour les autres, je regarde de près les solutions proposées et je posterai par la suite.

    Encore merci à tous

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 11
    Par défaut Calcul sur date
    Salut à tous,

    Merci à toi "le_chomeur" c'estexactement ce que je recherchai, juste une dernière petite question pratique :

    Comment appeler cette fonction dans du HTML, par exemple j'ai fais celà dans mon code mais la fonction s'exécute quand même sans que la condition soit réuni ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="text" id="entree" name="entreeparc" value="" onChange="javascript:date.prototype.addMonth();">
    En clair quel est le nom de cette fonction ?

    Merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [ WinDev ] Calcul sur date dans SQL
    Par Tchupacabra dans le forum Langage SQL
    Réponses: 8
    Dernier message: 28/02/2006, 12h12
  2. Calcul sur date dans SQL
    Par Tchupacabra dans le forum WinDev
    Réponses: 4
    Dernier message: 27/02/2006, 19h23
  3. [débutant] calcul sur date
    Par Regis.C dans le forum Collection et Stream
    Réponses: 9
    Dernier message: 04/01/2005, 10h51
  4. Resutlat de calcul sur date formaté
    Par neness dans le forum SQL
    Réponses: 6
    Dernier message: 16/06/2004, 15h34
  5. Calcul sur date
    Par Thomad dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 17/09/2003, 08h55

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