Formatted dates in a Google Apps script

前端 未结 3 382
抹茶落季
抹茶落季 2021-01-13 21:59

I\'m trying to get a spreadsheet with simple formatted dates when a form is submitted, but all dates, including the timestamp keep getting posted as \"Dec 31 1969 2:00PM\"..

3条回答
  •  误落风尘
    2021-01-13 22:12

    This code takes date of first row which carries "Timestamp", i.e. the new Date ("TimeStamp") so it's getting back the wrong date as getRowIndex return 1:

    function formSubmitReply(e) {
      var sheet = SpreadsheetApp.getActiveSheet();
      var row = sheet.getActiveRange().getRowIndex();
      //try to increment row as below to get row 2
      row++;
      var lastRow = sheet.getLastRow();
      //increment last row to write to new row to observe new date
      lastRow++;
      // Set the status of a new ticket to 'New'.
    
      sheet.getRange(lastRow, getColIndexByName("Status")).setValue("New");
    
      var ticketTime = sheet.getRange(row, getColIndexByName("Timestamp")).getValue();
    
      var subdate = Utilities.formatDate(new Date(ticketTime), "GMT-10", "EEE MM/dd/yyyy 'at'   h:mm a");
      //use log window select views-> logs to see your output
      Logger.log("subdate : "+subdate);
      sheet.getRange(lastRow, getColIndexByName("Timestamp")).setValue(subdate);
    
      var sDate = sheet.getRange(row, getColIndexByName("Start Date")).getValue();
      var strtdate = Utilities.formatDate(new Date(sDate), "GMT-10", "EEE, MMM dd, yyyy");
      sheet.getRange(lastRow, getColIndexByName("Start Date")).setValue(strtdate);
    
      var sTime = sheet.getRange(row, getColIndexByName("Start Time")).getValue();
      var strttime = Utilities.formatDate(new Date(sTime), "GMT-10", "h:mm");
      //sheet.getRange(lastRow, getColIndexByName("Start Time")).setValue(strttime);
    
      var eDate = sheet.getRange(row, getColIndexByName("End Date")).getValue();
      var enddate = Utilities.formatDate(new Date(eDate), "GMT-10", "EEE, MMM dd, yyyy");
      sheet.getRange(lastRow, getColIndexByName("End Date")).setValue(enddate);
    
      var eTime = sheet.getRange(row, getColIndexByName("End Time")).getValue();
      var endtime = Utilities.formatDate(new Date(eTime), "GMT-10", "h:mm");
      //sheet.getRange(lastRow, getColIndexByName("End Time")).setValue(endtime);
    }
    
    //enter code here
    

提交回复
热议问题