gpt4 book ai didi

javascript - 当 shell 中的日期与今天的日期匹配时为整行着色

转载 作者:行者123 更新时间:2023-11-30 21:10:17 24 4
gpt4 key购买 nike

function colorEntireRowGreenWhenDateOfEventMatchesCurrentDate() {

var data = SpreadsheetApp.getActiveSheet();
var dateColumn = data.getRange("C2:C15").getValues();
var todaysDate = new Date();
Logger.log(data)

for (i=0; i=dateColumn.length; i++) {
if (dateColumn[i] = todaysDate) {
data.setTabColor("#3c643c");
}
}
}

简单的请求。当 C 列中的日期条目与今天的日期匹配时,我想将整行涂成绿色。

最佳答案

您的代码存在多个问题。

首先,你的日期比较有误

 if (dateColumn[i] = todaysDate) {

代替

 if (dateColumn[i] == todaysDate) {

此外,比较日期的最佳方法是使用 getTime() method 来比较时间。 .另请参阅此 SO 问题:Compare two dates with JavaScript

您尝试使用 Sheet.setTabColor(String) method当您尝试获取 Range.setBackground(String) method 时,它会修改工作表的选项卡颜色或 Range.setBackgroundRGB(red, green, blue) method .

解决方法:

function colorEntireRowGreenWhenDateOfEventMatchesCurrentDate() {

var data = SpreadsheetApp.getActiveSheet();
var range = data.getRange("C2:C15");
var values = range.getValues();
var today = new Date();
var todaysDate = new Date(today.getFullYear(), today.getMonth(), today.getDate());
Logger.log(data);
range.setBackground(null);

for (var i in values) {
var d = values[i][0];
if (d.getTime() === todaysDate.getTime()) {
var row = parseInt(i) + 1;
data.getRange(range.getCell(row, 1).getRow(),1,1,data.getMaxColumns()).setBackground('#3c643c');
}
}
}

关于javascript - 当 shell 中的日期与今天的日期匹配时为整行着色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46220238/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com