我试图在提交表单时使用简单的格式化日期获取电子表格,但是所有日期(包括时间戳记都不断发布为“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