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 时间相减得出天数的主要内容,如果未能解决你的问题,请参考以下文章

js日期相减求天数 精确到秒

JS通过一个值与日期比较计算天数

js计算两个日期相差的天数

js计算两个日期间的所有日期

js计算两个月份之间的天数差。

oracle把查两个日期相减的天数变成数字类型