检查时差是否超过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
我有两次,一次是从 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