有几个问题。
描述:在 Google 表格、应用程序脚本中,我遍历一个范围并查找一个字符串。如果它包含一个名称,那么我会得到它在该范围内的位置。在下一列中的这个名称旁边有一个相应的日期,在帮助下,getRange()
我得到了与找到的名称(字符串)相对应的日期。接下来,在循环之外的一个单独条件中,我需要比较循环中接收到的日期是否等于脚本中作为对象接收到的日期。以下是问题:
如何获取实际日期,但格式
дд.мм.гггг
没有时间。也就是说,一切都应该像常规的新数据对象一样,但没有мин.сек.милсек
.如何比较格式中的实际日期
дд.мм.гггг
与我作为循环结果收到的日期。дд.мм.гггг
据我了解,从周期中确定日期也是可取的。
编码
function timeDay() {
var list1 = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Контроль");
var list2 = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Работники/данные/списки");
var infmail = list2.getRange(1, 4, 100, 1).getValues();
// Logger.log(infmail);
var infNameTime = list1.getRange(1, 4, 100, 1).getValues();
var infNameTime2 = list1.getRange(3, 4, 100, 1).getValues();
//Logger.log(infNameTime);
var email = Session.getActiveUser().getEmail();
var date = new Date(); //получаю дату
//Logger.log(date);
var malpz;
var mal = [];
var maillist = [];
for (var i = 0; i < infmail.length; i++) {
if (infmail[i].indexOf(email) !== -1) {
mal.push([i + 1]);
maillist.push(infmail[i]);
malpz = i + 1;
}
}
//Logger.log(malpz);
//Logger.log(mal);
//Logger.log(maillist);
var nameMail = list2.getRange(malpz, 2).getValues();
//Logger.log(nameMail);
var dd;
var tt;
var namepz = [];
var namelist = [];
for (var b = 0; b < infNameTime.length; b++) {
if (infNameTime[b][0].indexOf(nameMail) !== -1) {
namepz.push([b + 1]);
namelist.push(infNameTime[b]);
tt = b + 1;
dd = list1.getRange(tt, 3).getValue();
通过这一行,我得到了实际日期,但我想以上述格式获取它
var date = new Date();
此行包含相对于名称的日期
dd = list1.getRange(tt,3).getValue();
我从与格式相同的字符串中获取它
var date = new Date();
但我想得到上述格式,然后应用条件,在此期间 if 将比较并执行块。日期没有小时、分钟、秒、毫秒是非常重要的。从逻辑上讲,应该只比较日、月、年。