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());
时间: 2024-11-01 07:42:08