Datetime 如何在一行中设置appscript中一系列值的时间格式?

Datetime 如何在一行中设置appscript中一系列值的时间格式?,datetime,google-apps-script,Datetime,Google Apps Script,我想将一系列值格式化为一行代码中的时间 var C1GD29 = Utilities.formatDate(ReportSheet.getRange('D29').getValue(), ss.getSpreadsheetTimeZone(), "HH:MM"); var C1GD30 = Utilities.formatDate(ReportSheet.getRange('D30').getValue(), ss.getSpreadsheetTimeZone(), "HH:MM"); var

我想将一系列值格式化为一行代码中的时间

var C1GD29 = Utilities.formatDate(ReportSheet.getRange('D29').getValue(), ss.getSpreadsheetTimeZone(), "HH:MM");
var C1GD30 = Utilities.formatDate(ReportSheet.getRange('D30').getValue(), ss.getSpreadsheetTimeZone(), "HH:MM");
var C1GD31 = Utilities.formatDate(ReportSheet.getRange('D31').getValue(), ss.getSpreadsheetTimeZone(), "HH:MM");
var C1GD32 = Utilities.formatDate(ReportSheet.getRange('D32').getValue(), ss.getSpreadsheetTimeZone(), "HH:MM");
var C1GD33 = Utilities.formatDate(ReportSheet.getRange('D33').getValue(), ss.getSpreadsheetTimeZone(), "HH:MM");
var C1GD34 = Utilities.formatDate(ReportSheet.getRange('D34').getValue(), ss.getSpreadsheetTimeZone(), "HH:MM");
var C1GD35 = Utilities.formatDate(ReportSheet.getRange('D35').getValue(), ss.getSpreadsheetTimeZone(), "HH:MM");
var C1GD36 = Utilities.formatDate(ReportSheet.getRange('D36').getValue(), ss.getSpreadsheetTimeZone(), "HH:MM");
var C1GD37 = Utilities.formatDate(ReportSheet.getRange('D37').getValue(), ss.getSpreadsheetTimeZone(), "HH:MM");
var C1GD38 = Utilities.formatDate(ReportSheet.getRange('D38').getValue(), ss.getSpreadsheetTimeZone(), "HH:MM");
var C1GD39 = Utilities.formatDate(ReportSheet.getRange('D39').getValue(), ss.getSpreadsheetTimeZone(), "HH:MM");
var C1GD40 = Utilities.formatDate(ReportSheet.getRange('D40').getValue(), ss.getSpreadsheetTimeZone(), "HH:MM");
我在下面尝试了这个,但我得到了错误

var TimeLog = Utilities.formatDate(ReportSheet.getRange('D29:D40').getValues(), ss.getSpreadsheetTimeZone(), "HH:MM");
有人能告诉我正确的写作方法吗

function formatDates() {
  var ss=SpreadsheetApp.getActive();
  var ReportSheet=ss.getSheetByName('ReportSheet');
  var rg=ReportSheet.getRange('D29:D40');
  var vA=rg.getValues().map(function(r){return r[0];});
  var vD=[];
  vA.forEach(function(e){vD.push([Utilities.formatDate(new Date(e), ss.getSpreadsheetTimeZone(), "HH:mm")])});
  rg.setValues(vD);
}

这是否回答了您的问题?我想如果我可以先获取范围,然后获取值,然后再添加格式body.replaceText('1GD06',Utilities.formatDate(OneGradeData[5][3],ss.getSpreadsheetTimeZone(),“HH:MM”);但是这会返回一个错误。“HH:MM”是一个不正确的格式,它代表小时和月。我想你的意思是“HH:mm”,也就是小时和分钟。body.replaceText是一种文档方法而不是电子表格方法哦,是的,我的意思是HH:mm。但是如果我这样写的话,我不会得到错误:body.replaceText('1GD29',Utilities.formatDate(ReportSheet.getRange('D29').getValue(),ss.getSpreadsheetTimeZone(),“HH:mm”)`