将google脚本值传递给javascript日期选择器

将google脚本值传递给javascript日期选择器,javascript,html,google-apps-script,materialize,Javascript,Html,Google Apps Script,Materialize,我有一个日期数组,它是google应用程序脚本函数的结果。我想将日期结果放在JavaScript中的disabledDays变量中,该变量用于我从MaterializeCSS获得的日期选择器 我已经在JavaScript中设置了日期选择器的初始化,并使用了Christopher Bradley帮助我获取将被禁用的日期的代码。相关的 我已尝试删除以下代码,但仍然没有禁用日期选择器中的日期 html: } 这是日志的结果: [19-07-22 10:26:49:100 HKT] 1970, 01,

我有一个日期数组,它是google应用程序脚本函数的结果。我想将日期结果放在JavaScript中的disabledDays变量中,该变量用于我从MaterializeCSS获得的日期选择器

我已经在JavaScript中设置了日期选择器的初始化,并使用了Christopher Bradley帮助我获取将被禁用的日期的代码。相关的

我已尝试删除以下代码,但仍然没有禁用日期选择器中的日期

html:

}

这是日志的结果:

 [19-07-22 10:26:49:100 HKT] 1970, 01, 01

我想将Google脚本的see log结果日期发送到JavaScript中的disabledDays数组,以禁用datepicker中的日期选择。我真的需要帮助。我一直在努力寻找,想知道该做什么,但没有成功。我会非常感谢你的帮助

我认为你应该后退几步,甚至可能你应该从头开始,因为看起来你仍然不了解一些Google应用程序脚本/JavaScript的基本概念,比如数据类型和日期构造函数是如何工作的

日期构造函数new Date可以有参数,但不应是数组对象。在表达式new Date dateDisable.valueOf中,您正在传递一个。有关日期构造函数的有效参数的详细信息,请参阅

假设dateDisable成员是日期对象,为了使代码日志日期成为具有所需格式的字符串,请替换:

var testDate = Utilities.formatDate(new Date (dateDisable.valueOf()), "GMT+8","yyyy, MM, dd");
 Logger.log(testDate);
作者:

因为您的输入是use type=text,所以您的谷歌应用程序脚本应该以文本字符串形式传递日期,格式为YYYY-MM-dd

为此,您可以使用实用程序。formatDatedate、时区、格式

参考文献


正如我之前所建议的,请在您的问题中添加一个说明您如何尝试使用实用程序的选项。formatDate@Rub恩,我编辑了问题中的代码以及日志结果。@Rubén,感谢您的编辑帮助。我想我的问题没有得到回答。无论如何,谢谢。我尝试了你编辑的代码,这个错误不能找到FrimeFrimaDATEntryString,String,String。考虑创建一个演示试算表,只是用你的脚本所取的值来识别它们是什么样的值。与任何人共享此链接以仅查看,并将链接添加到问题。实际上,如果您发布一个关于如何读取值并将其转换为YYYY MM dd格式的新问题,可能会更好。我尝试了您编辑的代码,但出现了此错误,无法找到formatDatestring、string、string方法。@GlenPerey那么从电子表格中获取的值是字符串。在将它们作为Utilities.formatDate的第一个参数传递之前,应该将它们转换为日期对象
function revealDates(){

  var ss = SpreadsheetApp.openByUrl(url);
  var ws = ss.getSheetByName("Test_Data");
  var dateRg = ws.getRange(1, 9, ws.getLastRow(), 1).getValues();

  var CheckLimitReached = function (T)
  {
   var records= {};
   T.forEach(function (x) { records[x] = (records[x] || 0) + 1; });
   var limit_reached = Object.keys(records).filter(function (R) {
   return records[R] >= 5;});
   return limit_reached;
  };

 var dateDisable = CheckLimitReached(dateRg);
 var testDate = Utilities.formatDate(new Date (dateDisable.valueOf()), "GMT+8","yyyy, MM, dd");
 Logger.log(testDate);
 //return dateDisable;
 [19-07-22 10:26:49:100 HKT] 1970, 01, 01
var testDate = Utilities.formatDate(new Date (dateDisable.valueOf()), "GMT+8","yyyy, MM, dd");
 Logger.log(testDate);
for(var i = 0; i < dateDisable.length; i++){
  var testDate = Utilities.formatDate(dateDisable[i], "GMT+8","yyyy, MM, dd");
  Logger.log(testDate);
}