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?
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?
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>
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 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 ...
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 :
Ça évite les erreurs.
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)
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager