我差不多完成了为我的学校自动化公告的脚本。 最后一部分是将生日添加到公告的末尾。用户已经输入了公告的日期,导致大部分公告被写入。 我想在一张名为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++ ;
}
}
答案 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
个对象可用的方法。