You need to enable JavaScript to run this app. 如何用Google Apps Script判断Google Sheets单元格日期加5天等于今日
优惠活动
大模型
产品
解决方案
定价
更多

如何用Google Apps Script判断Google Sheets单元格日期加5天等于今日

问题原因

  • JavaScript中的Date属于引用类型,使用==/===直接对比两个Date对象时,判断的是两个对象是否指向同一个内存地址,而非判断二者代表的时间是否相等。你代码里的newDate5和today是两个独立创建的Date实例,哪怕时间值完全一致,对比结果也会是false。

修复方案

将判断逻辑改为对比两个Date对象的时间戳即可,时间戳是数值类型,直接对比值就会得到正确结果。

修改后代码

function test() {
  sheet = SpreadsheetApp.getActive();
  var today = new Date(new Date().setHours(0,0,0,0));

  var weekStartDate = sheet.getRange('B5').getValue().getTime();
    var newDate1 = new Date(new Date().setHours(0,0,0,0));
    var newDate5 = new Date(new Date().setHours(0,0,0,0));
    newDate1.setTime(weekStartDate + (1*24*60*60*1000));
    newDate5.setTime(weekStartDate + (5*24*60*60*1000));

  // 仅修改判断逻辑,对比两个日期的时间戳
  if(newDate5.getTime() == today.getTime()){
    var answer = 'Yes';
  } else{
    var answer = 'No';
  }

   Logger.log(today);
   Logger.log(newDate1);
   Logger.log(newDate5);
   Logger.log(answer);
}

内容的提问来源于stack exchange,提问作者Fiona Kwok

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.11 03:24:03