Как мне отформатировать время из диапазона значений в приложении в одну строку? - PullRequest
1 голос
/ 05 ноября 2019

Я хотел бы отформатировать диапазон значений во времени в одну строку кода.

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

Может кто-нибудь показать мне правильный способ написания этого?

1 Ответ

1 голос
/ 05 ноября 2019
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);
}

Простой формат даты

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...