js实现日期加减,求出时间差

来源:互联网 发布:游戏原画 培训 知乎 编辑:程序博客网 时间:2024/06/05 17:20

在实际开发中,经常需要计算当前时间和服务端拿到的时间加减,最后计算出时间差,下面是我在开发中做的一个小例子:

js计算函数:

function DateSuntraction(dateSubtraction,dateBeSubtracted){      var day = 24 * 60 * 60 *1000;      try{        var dateArraySubtraction = dateSubtraction.split("-");        var checkDateSubtraction = new Date();        checkDateSubtraction.setFullYear(dateArraySubtraction[0], dateArraySubtraction[1]-1, dateArraySubtraction[2]);        var checkTimeSubtraction = checkDateSubtraction.getTime();        var dateArrayBeSubtracted = dateBeSubtracted.split("-");        var checkDateBeSubtracted = new Date();        checkDateBeSubtracted.setFullYear(dateArrayBeSubtracted[0], dateArrayBeSubtracted[1]-1, dateArrayBeSubtracted[2]);        var checkTimeBeSubtracted = checkDateBeSubtracted.getTime();        var difference = (checkTimeSubtraction - checkTimeBeSubtracted)/day + 1;        return difference;      }catch(e){        return false;      }    }


使用定义的函数,进行计算:

var date = new Date().Format("yyyy-MM-dd");        console.log("Time is;",date);        for(var i = 0; i < data.length; i++){          if(new Date(data[i].publishTime).Format("yyyy-MM-dd") > date){            data[i].day = "未开始";          }          else if(new Date(data[i].endTime).Format("yyyy-MM-dd") < date){            data[i].day = "已结束";          }          else if(new Date(data[i].publishTime).Format("yyyy-MM-dd") < date && date < new Date(data[i].endTime).Format("yyyy-MM-dd")){            data[i].day = "剩余" + DateSuntraction(new Date(data[i].endTime).Format("yyyy-MM-dd"),date) + "天";          }        }
data[i].publishTime是服务端获取到的时间。