如何在一行中从脚本中的一系列值格式化时间?

我想将一系列值格式化为一行代码。

var C1GD29 = Utilities.formatDate(ReportSheet.getRange('D29').getvalue(),ss.getSpreadsheetTimeZone(),"HH:MM");
var C1GD30 = Utilities.formatDate(ReportSheet.getRange('D30').getvalue(),"HH:MM");
var C1GD31 = Utilities.formatDate(ReportSheet.getRange('D31').getvalue(),"HH:MM");
var C1GD32 = Utilities.formatDate(ReportSheet.getRange('D32').getvalue(),"HH:MM");
var C1GD33 = Utilities.formatDate(ReportSheet.getRange('D33').getvalue(),"HH:MM");
var C1GD34 = Utilities.formatDate(ReportSheet.getRange('D34').getvalue(),"HH:MM");
var C1GD35 = Utilities.formatDate(ReportSheet.getRange('D35').getvalue(),"HH:MM");
var C1GD36 = Utilities.formatDate(ReportSheet.getRange('D36').getvalue(),"HH:MM");
var C1GD37 = Utilities.formatDate(ReportSheet.getRange('D37').getvalue(),"HH:MM");
var C1GD38 = Utilities.formatDate(ReportSheet.getRange('D38').getvalue(),"HH:MM");
var C1GD39 = Utilities.formatDate(ReportSheet.getRange('D39').getvalue(),"HH:MM");
var C1GD40 = Utilities.formatDate(ReportSheet.getRange('D40').getvalue(),"HH:MM");

我在下面尝试过此操作,但出现错误。

var TimeLog = Utilities.formatDate(ReportSheet.getRange('D29:D40').getvalues(),"HH:MM");

有人可以告诉我正确的书写方式吗?

hanshuixiao94 回答:如何在一行中从脚本中的一系列值格式化时间?

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);
}

Simple Date Format

本文链接:https://www.f2er.com/3158651.html

大家都在问