我試圖在提交表單時使用簡單的格式化日期獲取電子表格,但是所有日期(包括時間戳記都不斷髮布爲「Dec 31 1969 2:00 PM」)...我究竟做錯了什麼?任何幫助將不勝感激。Google Apps腳本中的格式化日期
function formSubmitReply(e) {
var sheet = SpreadsheetApp.getActiveSheet();
var row = sheet.getActiveRange().getRowIndex();
var lastRow = sheet.getLastRow();
// 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");
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);
}
電子表格中的日期可視爲js日期對象。問題在於日期對象設置爲電子表格時,根據日期的文檔標準格式處理對象。我們需要一種方法來設置文檔的標準日期格式。 – 2012-08-20 13:22:42
對不起,但你說的是錯的。當腳本在工作表中讀取日期時,電子表格中顯示的日期完全不相關......我建議您在做出這樣的斷言之前嘗試一些事情 – 2012-08-20 13:27:45
林不知道我正確理解您的意思然後.. 此代碼適用於我: var lastDate = sheet.setActiveCell(「B1」)。getValue(); 並給出了完整的js日期。 – 2012-08-20 13:30:46