【问题标题】:Cannot find method formatDate((class),string,object). (line 54, file "Code")找不到方法 formatDate((class),string,object)。 (第 54 行,文件“代码”)
【发布时间】:2019-10-28 19:51:38
【问题描述】:

我复制了一个使用 packt 制作时间表 Web 应用程序的 google 脚本,但我根本无法让它工作。我想这是因为这个错误。以下是相关位。

所以我有了这个辅助函数

function fmtDate_(d, format){
  // Set the default date format, if 'format' not passed.
  var fmt = format || DF;

  return Utilities.formatDate(d, TZ, fmt);
}

全局变量是

var DF = "MM/dd/yyyy HH:mm:ss";
var TZ = Session.getScriptTimeZone();

它所帮助的功能是

function postTime(name, val){
  var time = fmtDate(new Date());
  var data = TimeSheet.getDataRange().getValues();

  // If 'shift start' clicked
  if(val == "sb"){
    // Update start time if clicked again.
    for(var i in data){
      if(data[i][1] == name && data[i][0] == "sb" ){
        data[i][2] = time;
        TimeSheet.getRange(1, 1, data.length, data[0].length)
          .setValues(data);
        return [val,name];
      }
    };

    // Else insert new name and update start time.
    TimeSheet.appendRow([val,name,time]);

    return [val,name];
  }

谢谢!

【问题讨论】:

  • TimeSheet 定义在哪里

标签: javascript google-apps-script google-sheets


【解决方案1】:

没有全局变量如下:

function fmtDate_(d, format) {
// Set the default date format, if 'format' not passed.
var fmt = format || "MM/dd/yyyy HH:mm:ss";

var timeZone = Session.getScriptTimeZone();
return Utilities.formatDate(d, timeZone, fmt);

}

function postTime(name, val) {
var time = fmtDate_(new Date());

var data = TimeSheet.getDataRange().getValues();

// If 'shift start' clicked
if (val == "sb") {
    // Update start time if clicked again.
    for (var i in data) {
        if (data[i][1] == name && data[i][0] == "sb") {
            data[i][2] = time;
            TimeSheet.getRange(1, 1, data.length, data[0].length)
                .setValues(data);
            return [val, name];
        }
    };

    // Else insert new name and update start time.
    TimeSheet.appendRow([val, name, time]);

    return [val, name];
}

}

【讨论】:

    【解决方案2】:

    也许您正在寻找类似的东西。我不难说。

    function postTime(name, val) {
      var time= Utilities.formatDate(new Date(),Session.getScriptTimeZone(), "MM/dd/yyyy HH:mm:ss");
      var ss=SpreadsheetApp.getActive();
      var TimeSheet=ss.getSheetByName('Time Sheet');
      var data = TimeSheet.getDataRange().getValues();
      if(val == "sb"){
        for(var i=0;i<data.length;i++) {
          if(data[i][1] == name && data[i][0] == "sb" ){
            data[i][2]=time;
            TimeSheet.getRange(1, 1, data.length, data[0].length).setValues(data);
            return [val,name];
          }
        }
        TimeSheet.appendRow([val,name,time]);
        return [val,name];
      }
    } 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-11-22
      • 1970-01-01
      • 1970-01-01
      • 2018-12-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多