计算两个时间之间的间隔有很多种方法,在网页设计中个人喜欢用js脚本来实现,还种把计算放到浏览器中计算的做法,不仅省去了服务器的一些资源,还可以加快了网页的载入速度,好处是多多的!
想要计算两个时间之间的间隔,只需要先计算出两个时间之间的秒数,再通过秒数来换算成年月日即可,方法很简单,下面给出了几个js计算两个时间之间间隔的函数事例,大家可以参考一下!
js计算两个时间的间隔代码
1、js计算两个时间之间的间隔,并以年月日来表示
js函数
//入参数,开启时间的时间戳,结束时间的时间戳
function TransDate(start,end) {
var show_date = '';
var result = Math.abs(end - start);
var minute = result / 1000 / 60;
if (minute == 0 || isNaN(minute) || minute == null) {
return 0;
}
//计算年
if (minute / 60 / 24 / 30 >= 12) {
show_date += parseInt(minute / 60 / 24 / 30 / 12) + "年";
}
//计算月
if (minute % (60 * 24 * 30 * 12) != 0 && minute / 60 / 24 >= 30) {
var t = minute / 60 / 24 / 30;
t = t - parseInt(minute / 60 / 24 / 30 / 12) * 12;
show_date += parseInt(t) == 0 ? "0" : parseInt(t) + "个月";
}
//计算天
if (minute % (60 * 24 * 30) != 0 && minute / 60 >= 24) {
var t = minute / 60 / 24;
t = t - parseInt(minute / 60 / 24 / 30) * 30;
show_date += parseInt(t) == 0 ? "0" : parseInt(t) + "天";
}
//计算小时
if (minute % (60 * 24) != 0 && minute >= 60) {
var t = minute / 60;
t = t - parseInt(minute / 60 / 24) * 24;
show_date += parseInt(t) == 0 ? "0" : parseInt(t) + "小时";
}
//计算分钟
if (minute % 60 != 0) {
//这里处理分钟数取整
minute = Math.floor(minute - parseInt(minute / 60) * 60) + "分钟"
show_date += minute ;
}
return show_date;
}
函数调用:
js代码
start = new Date('2016-12-10'); //开始的时间
end = new Date(); //结束的时间
show_date = TransDate(start, end);
alert("时间相隔 " + show_date);
2、js简单的计算两个时间之间的间隔,并以年月日表示
js逻辑代码:
//飞鸟慕鱼博客 feiniaomy.com
start = new Date('2019-12-10'); //开始的时间
end = new Date(); //结束的时间
se = end - start; //计算两个时间之间的秒数
year = Math.floor(se / (365 * 24 * 3600 * 1000)); //计算年数
se = se % (365 * 24 * 3600 * 1000); // 剩下的时间
days = Math.floor(se / (24 * 3600 * 1000)); // 计算天数
se = se % (24 * 3600 * 1000); // 剩下的时间
hours = Math.floor(se / (3600 * 1000)); // 计算剩下的小时数
se = se % (3600 * 1000); //剩下的秒数
minutes = Math.floor(se / (60 * 1000)); //计算分钟
console.log(year + '年' + days + '天' + hours + '时' + minutes + '分');
3、js计算两个时间之间间隔的天数
如果单纯的计算两个时间之间间隔的天数,可以通过简单的修改上面的代码即可实现!
//飞鸟慕鱼博客 feiniaomy.com
start = new Date('2019-12-10'); //开始的时间
end = new Date(); //结束的时间
se = end - start; //计算两个时间之间的秒数
days = Math.floor(se / (24 * 3600 * 1000)); // 计算天数
console.log(days);