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 :

Calculer le temps restant


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert

    Homme Profil pro
    Webmaster
    Inscrit en
    Mai 2011
    Messages
    1 049
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2011
    Messages : 1 049
    Billets dans le blog
    2
    Par défaut Calculer le temps restant
    J'aimerais calculer en javascript le temps restant jusqu'à la nouvelle année. Quelle propriété de Date vaut-il mieux utiliser? getDate ou getMillisecond et transformer en nombre de jours?

  2. #2
    Membre éprouvé
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2006
    Messages
    115
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2006
    Messages : 115
    Par défaut
    Salut,

    Tout dépend de la précision que tu souhaites avoir.
    Dans tous les cas, getDate() et getMilliseconds() ne te serviront à rien tout seuls. À la limite, tu peux utiliser getTime().
    Voici un aperçu des fonctions sur les dates.

    Puisque rafraîchir le nombre toutes les millisecondes serait gourmand en ressources, il vaut mieux afficher à la seconde près.
    Au pire au dixième de seconde, c'est déjà bien assez précis pour les êtres humains.

    Ça te donnerait quelque chose comme ça :
    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">
    	function update(){
    		var now=new Date(); // date actuelle
    		var later=new Date(2013,0,0,0,0,0,0); // premier janvier 2013
    		var result=later.getTime()-now.getTime(); // différence en millisecondes depuis le premier janvier 1970 (voir getTime() pour mieux comprendre)
     
    		var jours=parseInt(result/86400000);
    		var hours=parseInt((result%86400000)/3600000);
    		var minutes=parseInt((result%3600000)/60000);
    		var secondes=parseInt((result%60000)/1000);
    		var dixiemes=parseInt((result%1000)/100);
     
    		document.getElementById("id").innerHTML=jours+"jours "+hours+"h "+minutes+"mn "+secondes+":"+dixiemes;
     
    		setTimeout("update()", 100);
    	}
    	update();
    </script>

  3. #3
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var later=new Date(2013,0,0,0,0,0,0); // premier janvier 2013


    Ca, c'est le 31 décembre 2012

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    var later=new Date(2013,0,1); // premier janvier 2013
    var later=new Date(2013,0); // premier janvier 2013
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  4. #4
    Membre éprouvé
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2006
    Messages
    115
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2006
    Messages : 115
    Par défaut
    Citation Envoyé par Bovino Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var later=new Date(2013,0,0,0,0,0,0); // premier janvier 2013


    Ca, c'est le 31 décembre 2012

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    var later=new Date(2013,0,1); // premier janvier 2013
    var later=new Date(2013,0); // premier janvier 2013
    En effet, désolé.

    L'initialisation de la classe date n'est pas très intuitive...
    À défaut, il existe aussi la méthode Date.parse
    Ce qui nous donne le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    		var now=new Date(); // date actuelle
    		var later=Date.parse("01 01, 2013"); // millisecondes écoulées entre la date inscrite("janvier 1, 2013") et le premier janvier 1970
    		var result=later-now.getTime(); // différence en millisecondes depuis le premier janvier 1970 (voir getTime() pour mieux comprendre)
    Ça évite les erreurs.

  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 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
    en tout état de cause javascript permet de fournir une heure précise au millième de seconde près, sous réserve que le pc soit à l'heure.
    Ensuite libre à toi selon le niveau de précision que tu veux de calculer au jour près, à l'heure près, à la minute près, au millième de seconde près ...
    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. comment calculer temps restant
    Par ouiouioui dans le forum Langage
    Réponses: 6
    Dernier message: 15/07/2015, 15h02
  2. Synchronisation et calcul de temps restant.
    Par milach dans le forum Entrée/Sortie
    Réponses: 1
    Dernier message: 20/03/2013, 14h46
  3. Calcul de temps restant d'un processus
    Par milach dans le forum C++
    Réponses: 4
    Dernier message: 29/11/2010, 16h12
  4. [WD9] Calcul de temps restant
    Par Floco dans le forum WinDev
    Réponses: 15
    Dernier message: 09/06/2010, 16h08
  5. calculer le temps restant
    Par Jeannotc dans le forum Langage
    Réponses: 22
    Dernier message: 18/11/2009, 11h10

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