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 de durée de dates


Sujet :

JavaScript

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2008
    Messages
    154
    Détails du profil
    Informations personnelles :
    Localisation : Côte d'Ivoire

    Informations forums :
    Inscription : Février 2008
    Messages : 154
    Par défaut Calcul de durée de dates
    bonjour chers tous,
    je veux afficher dans mon champ duree, le calcul entre la date de fin et la date de debut:

    l'utilisateur entre d'abord la date de debut ensuite la date de fin puis la duree (date de fin - date de debut) s'affiche automatiquement.

    j'ai pu le faire avec javacript quand mes dates s'affichaient au format Ymd:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    function calcul(){
    	var champ1 = document.getElementById("datepicker1").value;
    	var champ2 = document.getElementById("datepicker2").value;
    	var total = parseInt(document.getElementById("datepicker2").value) - parseInt(document.getElementById("datepicker1").value);
    	document.getElementById("duree").value = total;
    }
    A présent mes dates s'affichent au format DMY.

    comment effectuer ce calcul de date?
    la durée doit s'exprimer en mois (12 mois, 24 mois ...);

    javascript est-elle la seule méthode? il y a t-il une autre méthode meilleure?
    merci d'avance.

  2. #2
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 198
    Par défaut
    Bonjour,
    voici une discussion récente qui devrait t'intéresser
    Date : 31 mars + (année en cours)

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2008
    Messages
    154
    Détails du profil
    Informations personnelles :
    Localisation : Côte d'Ivoire

    Informations forums :
    Inscription : Février 2008
    Messages : 154
    Par défaut
    comment avec javascript ramener mes dates au format YMD afin de pouvoir effectuer mon calcul de durée?

  4. #4
    Rédacteur/Modérateur

    Avatar de SylvainPV
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    3 375
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 3 375
    Par défaut
    Jette un oeil à cette bibliothèque, elle est très pratique pour manipuler les dates : http://momentjs.com

  5. #5
    Membre Expert

    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2011
    Messages
    1 723
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2011
    Messages : 1 723
    Par défaut
    Faut pas déconner non plus, utiliser des librairies je suis absolument pas contre mais quand il s'agit d'écrire une fonction javascript...

    Il suffit de transformer ta date au format DMY au format YMD et tu pourras réutiliser ta fonction comme avant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    var date = '15022014';
    function dmyToYmd(date) {
        return date.substr(4, 4) + date.substr(2, 2)+ date.substr(0, 2);
    }
    dmyToYmd(date);
    Avec ta précédente méthode, tu obtiens un nombre de jours, que tu n'as plus qu'à diviser par 30 (ou 30,4368499 si tu veux être vraiment précis ^^) pour avoir le nombre de mois.

  6. #6
    Expert confirmé
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 660
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 660

  7. #7
    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 658
    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 658
    Billets dans le blog
    1
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     return date.substr(4, 4)
    encore faut il être sur du format local de la date ...
    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 !

Discussions similaires

  1. Réponses: 2
    Dernier message: 30/03/2010, 10h25
  2. Réponses: 10
    Dernier message: 14/12/2007, 14h13
  3. Réponses: 7
    Dernier message: 25/04/2007, 15h38
  4. [Date] Fonction de calcul de durée entre 2 dates
    Par jesus144 dans le forum Collection et Stream
    Réponses: 2
    Dernier message: 10/01/2006, 16h36
  5. Calculer une duree entre 2 dates
    Par d.w.d dans le forum C++
    Réponses: 7
    Dernier message: 02/03/2005, 22h39

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