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 :

Aide pour un script qui calcule le temps passé depuis une date


Sujet :

JavaScript

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 16
    Points : 14
    Points
    14
    Par défaut Aide pour un script qui calcule le temps passé depuis une date
    Salut à tous
    Alors voila, à la base, je ne suis pas super calé en Javascript, mais là, je dois écrire un petit script qui calcule le temps passé depuis une date et une heure données (à savoir ici le 15 février 2008 a 17h30 ^^)

    Voici mon script

    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
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
     
     
    function decompte(){
     
    	//On récupére la date actuelle
     
    	var now = new Date();
    	var a = now.getFullYear();
    	var mo = now.getMonths();
    	var j = now.getDate();
    	var h = now.getHours();
    	var m = now.getMinutes();
    	var s = now.getSeconds();
     
    	//On fait les soustractions par rapport à la date de reference: 2008 2 15 17 30 00
     
    	var annees = a - 2008;
    	var mois = mo - 2;
    	var jours = j - 15;
    	var heures = h - 17;
    	var minutes = m - 30;
    	var secondes = s;
     
    	//Différentes boucles pour pas se retrouver avec des nombres negatifs ou trop grands 
    	while(secondes<0){
    		secondes += 60;
    		minutes --;
    	}
    	while(minutes<0){
    		minutes += 60;
    		heures --;
    	}
    	while(heures<0){
    		heures += 24;
    		jours --;
    	}
    	while(jours<0){
    		jours -= 29;
    		mois ++;
    	}
    	while(mois<0){
    		mois += 12;
    		annees --;
    	}
     
    	while(secondes>=60){
    		secondes -= 60;
    		minutes ++;
    	}
    	while(minutes>=60){
    		minutes -= 60;
    		heures ++;
    	}
    	while(heures>=24){
    		heures -= 24;
    		jours ++;
    	}
    	//Rajouter un processdays
    	while(mois>=12){
    		mois -= 12;
    		annees ++;
    	}	
     
    	//On affiche la date dans la div correspondante
     
    	var string = "" + annes + mois + jours + heures + minutes + secondes;
    	document.getElementById('affichage').innerHTML = string;
    }
    Et bien, le probleme c'est que ca n'affiche rien, même si j'essaie d'afficher uniquement la variable mois, rien n'y fait Honetement, je ne vois pas d'ou viens le probleme

    A ceux qui prenderont le temps de voir tout ca, un grand merci d'avance

  2. #2
    Membre habitué Avatar de Capt. Flame
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    222
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2005
    Messages : 222
    Points : 196
    Points
    196
    Par défaut
    Pourquoi se casser la tête quand quelqu'un d'autre l'a fait et donne généreusement le fruit de son labeur...

    The JavaScript Source

    Si t'as besoin d'un coup de main pour comprendre le source, fais un signe...

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 16
    Points : 14
    Points
    14
    Par défaut
    Je vais étudier ca et j'espére m'en sortir

  4. #4
    Membre habitué Avatar de Capt. Flame
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    222
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2005
    Messages : 222
    Points : 196
    Points
    196
    Par défaut
    C'est pas trop compliqué et comme je te le disais, tu ne te gène pas si t'as une question...

  5. #5
    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 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    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 640
    Points : 66 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    Pourquoi aller chercher si loin ?
    http://www.developpez.net/forums/sho...f%E9rence+date

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 16
    Points : 14
    Points
    14
    Par défaut
    SpaceFrog, si tu pouvais documenter un peu ton exemple j'ai pas du tout compris

  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 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    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 640
    Points : 66 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    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
    <script type='text/javascript'>
     
    var today= new Date() // aujourd'hui  date de référence
     
    // ici on fabrique une autre date en ajoutant 5 jours à la date de ref
    var limitFive=new Date() 
    limitFive.setDate(today.getDate()+5)
     
    // ici on fabrique une autre date en ajoutant 305 jours à la date de ref
    var testedDate= new Date()
    testedDate.setDate(today.getDate()+305)
     
     
    // ici on calcule le nombre de jours entre date +5 et date + 305
    var jourSep=testedDate-limitFive
    alert(jourSep/86400000)
     
    </script>

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 16
    Points : 14
    Points
    14
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    alert(jourSep/86400000)
    Je comprends pas cette ligne ^^ C'est une histoire avec les millisecondes??
    Sinon, je savais pas qu'on pouvait faire la soustraction entre deux objets Date, apparament sa donne le nombre de jours Vous confirmez?

  9. #9
    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 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    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 640
    Points : 66 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    oui c'est juste pour convertir jouSep en jours ...

  10. #10
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 16
    Points : 14
    Points
    14
    Par défaut
    Ah, donc dans ce cas,faire la différence entre deux dates renvoie le nombre de millisecondes entre ces deux dates, ok, j'ai compris Je vais réviser mon code et vous tenir au courant de ce que ca donnera

  11. #11
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 16
    Points : 14
    Points
    14
    Par défaut
    Voila donc mon code final qui marche trés bien, et qui j'espére pour aider d'autres personnes

    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
    //On récupére la date actuelle
    	var now = new Date();
     
    	//On crée la date de référence
    	var reference = new Date(2008, 1, 15, 17, 30, 0);
     
    	//On calcule le nombre de millisecondes entre ces deux évenements
    	var difference = now - reference;
     
    	//On recupere les jours et on les soustraits
    	var jours = (difference-difference%86400000)/86400000;
    	difference -= jours*86400000;
     
    	//Idem pour les heures
    	var heures = (difference-difference%3600000)/3600000;
    	difference -= heures*3600000;
     
    	//Idem pour les minutes
    	var minutes = (difference-difference%60000)/60000;
    	difference -= minutes*60000;
     
    	//On recupere les secondes
    	var secondes = (difference-difference%1000)/1000;
     
    	//On affiche la date dans la div correspondante
    	document.getElementById('madiv').innerHTML =  jours + " " + heures + " " + minutes + " " + secondes ;
    Merci à Capt. Flame et à SpaceFrog pour l'aide

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

Discussions similaires

  1. Script shell qui calcule le temps de traitement du script
    Par 20132014 dans le forum Shell et commandes GNU
    Réponses: 8
    Dernier message: 10/08/2013, 14h37
  2. Calcul du temps passé dans une boucle for
    Par Hydro999 dans le forum R
    Réponses: 3
    Dernier message: 28/07/2009, 19h39
  3. [XL-2003] Calculer le temps passé dans une boucle for
    Par mancired dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 06/05/2009, 15h06
  4. Réponses: 1
    Dernier message: 19/05/2006, 16h16
  5. [langage] aide pour un script pliz
    Par biog dans le forum Langage
    Réponses: 6
    Dernier message: 17/05/2005, 13h54

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