Dans les applications pratiques, il est nécessaire de calculer la différence entre deux points temporels. De manière générale, la différence entre l'heure actuelle et un point temporel spécifié est calculée, et parfois elle doit être précise en jours, heures, minutes et. secondes , présentons brièvement comment obtenir cet effet.
Rendu :
À partir du Nouvel An :
Le code est le suivant :
<html> <head> <title>javascript计算时间差</title> <style type="text/css"> #thenceThen { font-size:2em; } </style> <script type="text/javascript"> function thenceThen() { var theTime="2014/5/4" var endTime=new Date(theTime); var totalSecs=(endTime-new Date())/1000; var days=Math.floor(totalSecs/3600/24); var hours=Math.floor((totalSecs-days*24*3600)/3600); var mins=Math.floor((totalSecs-days*24*3600-hours*3600)/60); var secs=Math.floor((totalSecs-days*24*3600-hours*3600-mins*60)); if(days!=0) { document.getElementById("thenceThen").innerHTML=days+"天"+hours+"小时"+mins+"分钟"+secs+"秒"; } else if(hours==0&&mins==0) { document.getElementById("thenceThen").innerHTML=secs+"秒"; } else if(hours==0&&mins!= 0) { document.getElementById("thenceThen").innerHTML=mins+"分钟"+secs+"秒"; } else if (hours!=0) { document.getElementById("thenceThen").innerHTML=hours+"小时"+mins+"分钟"+secs+"秒"; } } var clock; window.onload=function() { clock=setInterval("thenceThen()",500); } </script> </head> <body> <div id="thenceThen"></div> </body> </html>
Le code ci-dessus réalise la fonction souhaitée. Voici une brève introduction au processus de mise en œuvre de cet effet.
1. Principe de mise en œuvre :
Le principe est très simple. Il s'agit de calculer la différence en millisecondes entre deux instants, puis d'effectuer des opérations mathématiques pour obtenir les jours, heures, minutes et descriptions correspondants. La fonction est appelée une fois par seconde via la fonction setInterval(), puis le compte à rebours est lancé.
2. Commentaires du code :
1.function thenThen(){}, cette fonction est utilisée pour calculer le décalage horaire.
2.var theTime="2014/5/4", cette variable est utilisée pour définir un instant auquel le décalage horaire doit être calculé.
3.var endTime=new Date(theTime), crée l'objet heure actuelle.
4.var totalSecs=(endTime-new Date())/1000, la différence entre les deux objets temporels est la différence en millisecondes entre les deux, puis divisée par 1000 est la description de la différence.
5.var jours = Math.floor (totalSecs/3600/24), calculez le nombre de jours de différence, portez une attention particulière à la fonction Math.floor(), vous pouvez vous référer à la lecture associée.
6.var hours=Math.floor((totalSecs-days*24*3600)/3600), calculez le nombre d'heures de différence.
Ce qui précède est un exemple de code pour calculer le décalage horaire en javascript. J'espère qu'il sera utile à l'apprentissage de chacun.