JS时间的计算,剩余时间的计算

来源:互联网 发布:mac 炉石传说 插件 编辑:程序博客网 时间:2024/04/30 13:57

1.JS求时间差

注意:如果时间自己自己传入参数,要进行转换。比如date2 = new Date(Date.parse(time1))

var date1=new Date();  //开始时间alert("aa");var date2=new Date();    //结束时间var date3=date2.getTime()-date1.getTime()  //时间差的毫秒数 //计算出相差天数var days=Math.floor(date3/(24*3600*1000)) //计算出小时数var leave1=date3%(24*3600*1000)    //计算天数后剩余的毫秒数var hours=Math.floor(leave1/(3600*1000))//计算相差分钟数var leave2=leave1%(3600*1000)        //计算小时数后剩余的毫秒数var minutes=Math.floor(leave2/(60*1000)) //计算相差秒数var leave3=leave2%(60*1000)      //计算分钟数后剩余的毫秒数var seconds=Math.round(leave3/1000) alert(" 相差 "+days+"天 "+hours+"小时 "+minutes+" 分钟"+seconds+" 秒")

2.显示本站已运行x天x时x分x秒,

稍稍麻烦的就是,要计算两个时间之间的年数差,必须要考虑平年和闰年的问题。
拓展:怎样才是闰年?
需要同时满足两个条件:
1、年份能被4整除;
2、年份若是100的整数倍的话,需被400整除,否则是平年
比如:1900年能被4整除,但是因为其是100的整数倍,却不能被400整除,所以是平年

//初始化时间//为了提高兼容性注意创建日期的格式,还要添加引号var start = new Date("2000/12/1");//把以下内容放到script标签内,创建id为times的div,并开启下面一条语句注释//show_date_time();function show_date_time(){//周期性调用show_date_time()方法setTimeout("show_date_time()", 1000);var current = new Date();//总秒数var millisecond = Math.floor((current.getTime() - start.getTime())/1000);//总天数var allDay = Math.floor(millisecond/(24*60*60));//注意同getYear的区别var startYear = start.getFullYear();var currentYear = current.getFullYear();//闰年个数var leapYear = 0;for(var i=startYear;i<currentYear;i++){if(isLeapYear(i)){leapYear++;}}//年数var year = Math.floor((allDay - leapYear*366)/365 + leapYear);;//天数        var day;        if(allDay > 366){        day = (allDay - leapYear*366)%365;        }else{                day = allDay;        }//取余数(秒)var remainder = millisecond%(24*60*60);//小时数var hour = Math.floor(remainder/(60*60));//分钟数var minute = Math.floor(remainder%(60*60)/60);//秒数var second = remainder - hour*60*60 - minute*60; var span = "本站已运行" + (year>0 ? (year + "年"):"") + day + "天"         + hour + "小时" + minute + "分" + second + "秒" ; document.getElementById("times").innerHTML = span;}//判断是否是闰年function isLeapYear(year){if((year%4==0 && year%100!=0)||(year%100==0 && year%400==0)){return true;}return false;}


原创粉丝点击