JS 时间相减得出天数
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JS 时间相减得出天数相关的知识,希望对你有一定的参考价值。
需要完整代码
// 给日期类对象添加日期差方法,返回日期与diff参数日期的时间差,单位为天Date.prototype.diff = function(date)
return (this.getTime() - date.getTime())/(24 * 60 * 60 * 1000);
// 构造两个日期,分别是系统时间和2013/04/08 12:43:45
var now = new Date();
var date = new Date(\'2013/04/08 12:43:45\');
// 调用日期差方法,求得参数日期与系统时间相差的天数
var diff = now.diff(date);
// 打印日期差
alert(diff); 参考技术A function isLeapYear(year)
if (year % 4 == 0 && ((year % 100 != 0) || (year % 400 == 0)))
return true;
return false;
function validatePeriod(fyear, fmonth, fday, byear, bmonth, bday)
if (fyear < byear)
return true;
else if (fyear == byear)
if (fmonth < bmonth)
return true;
else if (fmonth == bmonth)
if (fday <= bday)
return true;
else
return false;
else
return false;
else
return false;
function dateDiff(d1, d2)
var disNum = compareDate(d1, d2);
return disNum;
function compareDate(date1, date2)
var regexp = /^(\d1,4)[-|\.]1(\d1,2)[-|\.]1(\d1,2)$/;
var monthDays = [0, 3, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1];
regexp.test(date1);
var date1Year = RegExp.$1;
var date1Month = RegExp.$2;
var date1Day = RegExp.$3;
regexp.test(date2);
var date2Year = RegExp.$1;
var date2Month = RegExp.$2;
var date2Day = RegExp.$3;
if (validatePeriod(date1Year, date1Month, date1Day, date2Year, date2Month, date2Day))
firstDate = new Date(date1Year, date1Month, date1Day);
secondDate = new Date(date2Year, date2Month, date2Day);
result = Math.floor((secondDate.getTime() - firstDate.getTime()) / (1000 * 3600 * 24));
for (j = date1Year; j <= date2Year; j++)
if (isLeapYear(j))
monthDays[1] = 2;
else
monthDays[1] = 3;
for (i = date1Month - 1; i < date2Month; i++)
result = result - monthDays[i];
return result;
return;
days = dateDiff('2013-04-08', '2013-04-9') + 1;
js怎么写一个时间相减得到时间差?
参考技术A需要准备的材料分别有:电脑、html编辑器、浏览器。
1、首先,打开html编辑器,新建html文件,例如:index.html。
2、在index.html中的<script>标签,输入js代码:
var a = '2019-7-1 12:00:00', b = '2019-7-2 14:58:05';
var t1 = Date.parse(new Date(a.replace(/-/g, "/")));
var t2 = Date.parse(new Date(b.replace(/-/g, "/")));
document.body.innerText = b + ' 比 ' + a + ' 大 ' + (t2 - t1) + '秒';
3、浏览器运行index.html页面,此时会打印出2个时间相减得到的时间差。
以上是关于JS 时间相减得出天数的主要内容,如果未能解决你的问题,请参考以下文章