JavaScript中关于时间的知识点

时间:2021-12-04 17:28:37

1.计算时间差,天数,小时数,余数

var begintime_ms = Date.parse(new Date(begintime.replace(/-/g, "/"))); //begintime 为开始时间    
var endtime_ms = Date.parse(new Date(endtime.replace(/-/g, "/"))); // endtime 为结束时间
//parse() 返回1970年1月1日午夜到指定日期(字符串)的毫秒数。

得到的结果为 毫秒数,可根据 毫秒数的大小,来判断时间。

当然根据毫秒数 可以根据他们的差值 来求相差的天数或是小时等。

var date1=new Date();  //开始时间
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.获取两个日期之间的所有日期的代码

var start = "2012-3-25";
var end = "2012-4-3";  

var startTime = getDate(start);
var endTime = getDate(end);  

//获取日期中的年月日
function getDate(datestr){
    var temp = datestr.split("-");
    var date = new Date(temp[0],temp[1],temp[2]);
    return date;
}  

while((endTime.getTime()-startTime.getTime())>=0){
    var year = startTime.getFullYear();
    var month = startTime.getMonth().toString().length==1?"0"+startTime.getMonth().toString():startTime.getMonth();
    var day = startTime.getDate().toString().length==1?"0"+startTime.getDate():startTime.getDate();  

    alert(year+"-"+month+"-"+day);
    startTime.setDate(startTime.getDate()+1);
    //getDate() 方法可返回月份的某一天。
    //setDate() 设置 Date 对象中月的某一天 (1 ~ 31)。
}  

两个时间选择插件:

1.bootstrap-datetimepicker http://www.bootcss.com/p/bootstrap-datetimepicker/

2.daterangepicker http://www.daterangepicker.com/

摘自:Js计算时间差,天数,小时数,余数 http://qiaolevip.iteye.com/blog/1329292

js获取两个日期之间的所有日期的代码 http://www.jbxue.com/article/11064.html