Ano*_*iem 70 javascript jquery date object
我有两个Date对象,我想计算小时数的差异.
如果小时差异小于18小时,我想将日期对象推送到数组中.
Javascript/jQuery,并不重要; 什么是最好的将做.
Boa*_*oaz 178
最简单的方法是直接从彼此中减去日期对象.
例如:
var hours = Math.abs(date1 - date2) / 36e5;
Run Code Online (Sandbox Code Playgroud)
减法返回两个日期之间的差异,以毫秒为单位.36e5是科学记数60*60*1000,除以将毫秒差异转换为小时.
lea*_*eaf 34
尝试使用getTime(mdn doc):
var diff = Math.abs(date1.getTime() - date2.getTime()) / 3600000;
if (diff < 18) { /* do something */ }
Run Code Online (Sandbox Code Playgroud)
使用Math.abs()我们不知道哪个日期最小.这段代码可能更相关:
var diff = (date1 - date2) / 3600000;
if (diff < 18) { array.push(date1); }
Run Code Online (Sandbox Code Playgroud)
使用通过调用valueOf日期对象获得的时间戳:
var diff = date2.valueOf() - date1.valueOf();
var diffInHours = diff/1000/60/60; // Convert milliseconds to hours
Run Code Online (Sandbox Code Playgroud)