首页 > 解决方案 > 默认日期分配失败

问题描述

我不知道我在这里错过了什么。只要用户在对话框中输入一些日期,一切正常,但如果用户将对话框留空,我希望拥有d1d2设置预定义的日期,但它不起作用:

var d1, d2, d1i, d2i;
// set default initial dates
d1i = "01/01/2010";
d2i = "01/01/2020";
d1 = new Date(Browser.inputBox("Insert first day in format M/D/Y. Leave empty for default " + d1i));
d2 = new Date(Browser.inputBox("Insert last day in format M/D/Y. Leave empty for default " + d2i));
// If the dialog boxes are left empty, set d1 and d2 with default values
if (d1 == "") {d1 = new Date(d1i);}
if (d2 == "") {d2 = new Date(d2i);}

var events = cal.getEvents(d1, d2, {search: text});
var sheet = SpreadsheetApp.getActiveSheet();
for (var i = 0; i < events.length; i++) {
  var row = i + 2;
  var details = [[
    events[i].getTitle(),
    events[i].getDescription(),
    events[i].getLocation(),
    events[i].getStartTime(),
    events[i].getEndTime(),
    myformula_placeholder
  ]];
  var range = sheet.getRange(row, 1, 1, 6);
  range.setValues(details);
}

我也试过:

if (d1 == "") {d1 = d1i;}
if (d2 == "") {d2 = d2i;}

没有成功。不使用默认日期。

标签: datetimegoogle-apps-script

解决方案


好的,如果输入框为空,我希望将 d1 和 d2 设置为空字符串。相反,d1 和 d2 设置为值字符串“无效日期”。现在我改变了代码:

if (d1 == "Invalid Date") { d1 = d1i;}.
if (d2 == "Invalid Date") { d2 = d2i;}

非常感谢任何更好的解决方案。谢谢


推荐阅读