JS倒计时功能,给定时间返回规定格式倒计时时间

 1     $(function () {
 2         if ($("#hidDate").val().length > 0) {
 3             setInterval(function () {
 4                 $("#lastdate").html(setHtml());
 5             }, 1000);
 6         }
 7     });
 8 
 9     //计算剩余
10     function calcSurplus(fdate){
11             var odate = new Date(fdate);  //未来的时间
12             var day, hour, minute, second;
13             var html, cdate, surplusDate;    //拼接文本,当前时间,剩余时间
14             var year = new Date().getYear();   //当前年份
15             var february = (year % 4 == 0 && year % 100 != 0) || year % 400 == 0 ? 29 : 28; //计算二月份的天数
16             var days = new Array(31,february,31,30,31,30,31,31,90,31,30,31);
17             function result() {
18                 cdate = new Date();         
19                 surplusDate = odate.getTime() - cdate.getTime();  //未来时间与当前时间相差的毫秒
20                 millisecond = surplusDate % 1000;          //总毫秒数模1000就是换算为秒后剩余的毫秒
21                 surplusDate -= millisecond;                //总毫秒减去剩余的毫秒
22                 second = (surplusDate / 1000) % 60;        //(surplusDate / 1000)减去多余的毫秒剩下的毫秒/1000,
23                 surplusDate -= second * 1000;              //则为剩余毫秒转换为秒后的数值,然后用该数值模60则为剩下的分钟
24                 minute = (surplusDate / 60000) % 60;       //后面的运算以此类推,先减去前面已经算过的毫秒值
25                 surplusDate -= minute * 60000;             //然后用当前毫秒除以当前单位的运算值,然后取模该单位的上级单位
26                 hour = (surplusDate / 3600000) % 24;
27                 surplusDate -= hour * 3600000;
28                 day = (surplusDate / 86400000) % days[cdate.getMonth()];  //一天=86400000毫秒但是天的上级单位月的天数不是固定的所以采用数组
29                 html = day + "" + hour + "" + minute + "" + second + "";  //倘若要计算月数,年数,按照上规则向下推
30                 return html;
31             }
32             return result;
33     }
34 
35     var setHtml = calcSurplus($("#hidDate").val());

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。