检查时差是否超过48小时

Check if time difference is more than 48 hours

我有两次,一次是从 google sheet item[7] 中捕获的,另一次是从 new date() 方法中捕获的。

现在我想检查时差是否超过48小时并相应地过滤数据。

这是我的完整代码:

function leavetat() {
  
  var ss = SpreadsheetApp.openById('1KtxxxxxxxxxxxxxxxxxxxxxxxPMc');

  var sheet2 = ss.getSheetByName("Temp Sheet");
  var data = sheet2.getDataRange().getValues();
  
  var x = new Date();
  
  let datax = data.filter(function(item){x.getTime()-(item[7]).getTime() >= 48 })
  
  Logger.log(datax)
  
}

但是,这不起作用:

x.getTime()-(item[7]).getTime() > 48

分辨率是多少?

很可能是因为 item[7] 不是日期对象。尝试将其转换为 Date 对象。

new Date(item[7]).getTime()

而且它是以毫秒而不是小时为单位的。

如果您有两个日期对象,那么您可以使用

//(Math.abs(firstDate - secondDate) / 36e5) >= 48
(Math.abs(new Date() - new Date(item[7])) / 36e5) >= 48