您的位置:首页 > Web前端 > JavaScript

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

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

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是服务端获取到的时间。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: