如何在应用程序脚本中为当前日期编写循环代码



我正在尝试在应用程序中编写一个代码脚本,该脚本可以找到;今天日期";在所有这些日期之间,它们可能会随着时间的推移而更新,我目前拥有的代码是:

function requestSlack(method, endpoint, payload) {
const base_url = "https://slack.com/api/"
const headers = {
'Authorization': "Bearer " + "MYTOKEN",
'Content-Type': 'application/json'
}
var options = {
headers: headers,
method: method,
payload: payload
}
let request_url;
if (method == "POST") {
request_url = base_url + endpoint
options.payload = JSON.stringify(payload)
} else {
request_url = base_url + endpoint

}
const response = UrlFetchApp.fetch(request_url, options).getContentText();
const json = JSON.parse(response);
return {
response_code: json.ok,
response_data: json
}
}
function chamaMensagem() {

let dados = getInformacoesPlanilha();
var payload = {
"channel": "MY CHANNEL ID",
"text": `Titulo da tarefa: ${dados.TituloTarefa[0]}` +

nProprietario: ${dados.ProprietarioTarefa[0]}+

nDeadline: ${dados.DataConclusao[0]}+

nDescrição:${dados.DescricaoTarefa[0]}

"charset": "application/json"

}
var response = requestSlack("POST", "chat.postMessage", payload);
}
function getInformacoesPlanilha(){
const ss = SpreadsheetApp.openByUrl("MY SPREADSHEET URL"); 
const sheet = ss.getSheetByName("MY SPREADSHEET NAME")
const TituloTarefa = sheet.getRange("C12:C18").getValues();
const ProprietarioTarefa = sheet.getRange("D12:D18").getValues();
const DataConclusao = sheet.getRange("F12:F18").getValues(); 
const DescricaoTarefa = sheet.getRange("G12:G18").getValues();  
console.log(DataConclusao);
const dados = {
TituloTarefa,ProprietarioTarefa,DataConclusao,DescricaoTarefa
}
var dataatual = new Date();
var diasdataatual = Math.ceil(dataatual / (1000 * 3600 * 24));

for(var i = 0; i < dados.length; i++){
var data = new Date(dados[i][DataConclusao]);
var time = Math.abs(data.getTime());
var dias = Math.ceil(time / (1000 * 3600 * 24));
var dif = parseInt(dias) - parseInt(diasdataatual);
Logger.log(dif);
if(dif == 0){
Logger.log("Mesma data")

} else{
Logger.log("ainda está no prazo");
} 
}
return dados;
}

我意识到我的代码不完整,这让你们很难帮助我,对不起,伙计们。这是我完整的代码,我只是删除了一些特定的信息,错误是在最后一个函数中找到当前日期

试试这样的东西

function lfunko() {
const ss = SpreadsheetApp.getActive();
const sh = ss.getSheetByName("Dados");//the sheet where you have your data
const dados = sh.getRange(2, 1, sh.getLastRow() - 1, sh.getLastColumn()).getValues();
const dt = new Date();
const dtv = new Date(dt.getFullYear(), dt.getMonth(), dt.getDate()).valueOf();//value at midnight
dados.forEach((r, i) => {
let d = new Date(r[DataConclusao]).valueOf();//assumes DataConclusao is an integer between 0 and r.length - 1 inclusive
let dv = new Date(d.getFullYear(),d.getMonth(),d.getDate()).valueOf();//value at midnight
if(dv == dtv) {
//these are rows that have the correct date
}
})
}

最新更新