仅按月和日比较日期

时间:2018-03-15 23:40:42

标签: google-apps-script google-sheets-api

我差不多完成了为我的学校自动化公告的脚本。 最后一部分是将生日添加到公告的末尾。用户已经输入了公告的日期,导致大部分公告被写入。 我想在一张名为Birthdays的工作表中使用输入的日期与学生生日进行比较。我试图根据this answer将每个生日转换为一年中某一天的整数值。

应该检查当天,即使年份可能不同,并将学生的姓名添加到下一行。

到目前为止,这是此部分的代码:

    var bDayHeader= "Birthdays"
bulletin.getRange(nextBullRow,1).setValue(bDayHeader);
nextBullRow+=2;
var birthdays = ss.getSheetByName("Birthdays");
var lastBdayRow = birthdays.getLastRow();
for(var i=2; i<=lastBdayRow; i++) {
  var bRow = birthdays.getRange(i,1,1,3).getValues();
  var bDay = new Date(bRow[0][0]);
  var bDayStudent = bRow[0][2];
  if(compareDate.getMonth() == bDay.getMonth() && compareDate.getDate() == bDay.getDate()){
    Logger.log(bDayStudent);
    bulletin.getRange(nextBullRow,1).setValue(bDayStudent);
    bulletin.getRange(nextBullRow,1).setFontWeight("normal");
    nextBullRow++ ;          
  }
}

1 个答案:

答案 0 :(得分:1)

我会做像

这样的事情
if(compareDate.getMonth() == bDay.getMonth() && compareDate.getDate() == bDay.getDate()) {
  // its the same day of the month.
}

这显然对于2月29日出生的人来说意味着什么。 :d

您可以在MDN Date reference上详细了解Date个对象可用的方法。