JavaScript计算两个时间点之间的时间差

快乐打工仔 分类:实例代码

JavaScript计算两个时间点之间的时间差属于前端实例代码,有关更多实例代码大家可以查看

获得两个时间点的时间差是一个很重要的操作,因为有时候需要根据这个时间差去执行一定的操作。

下面通过代码实例介绍一下如何实现此功能。

代码实例如下:

function GetDateDiff(startTime,endTime,diffType){
  startTime=startTime.replace(/\-/g,"/");
  endTime=endTime.replace(/\-/g,"/");
  diffType=diffType.toLowerCase();
  var sTime = new Date(startTime);    //开始时间
  var eTime = new Date(endTime);  //结束时间</font>
  //作为除数的数字
  var divNum = 1;
  switch (diffType){
    case "second":
      divNum=1000;
      break;
    case "minute":
      divNum=1000*60;
        break;
    case "hour":
      divNum=1000*3600;
      break;
    case "day":
      divNum=1000*3600*24;
      break;
    default:
      break;
  }
  return parseInt((eTime.getTime()-sTime.getTime())/parseInt(divNum));
}
console.log(GetDateDiff("2012-10-11","2013-10-18","day"));
console.log(GetDateDiff("2012-10-11 12:25:20","2013-10-18 1:25:20","second"));

可以根据参数的不同来给出不同的差值,比如可以是天、秒或者小时等。

一.代码注释:

(1).function GetDateDiff(startTime,endTime,diffType){},获取时间差函数,第一个参数是起始时间点,第二个是结束时间点,第三个是时间类型。

(2).startTime=startTime.replace(/\-/g,"/"),将时间中的"-"替换为"/",之所以这样是因为Date()构造函数只有2012/3/10这种形式实现浏览器全兼容。

(3).endTime=endTime.replace(/\-/g,"/"),同上。

(4).diffType=diffType.toLowerCase(),转换为小写。

(5). var divNum=1,声明一个变量,这个用来作为根据不同的时间差类型,来赋予不同的值。

二.相关阅读:

(1).replace()参阅正则表达式 replace()一章节。 

(2).toLowerCase()参阅JavaScript toLowerCase()一章节。 

(3).Date()构造函数参阅JavaScript Date()构造函数参数介绍一章节。 

(4).switch语句参阅JavaScript switch 语句一章节。 

JavaScript计算两个时间点之间的时间差,这样的场景在实际项目中还是用的比较多的,关于JavaScript计算两个时间点之间的时间差就介绍到这了。

回复

我来回复
  • 暂无回复内容