Почему скрипт увеличивает введённое время на 33 минуты?

Есть скрипт, который при вводе времени в столбец A или B должен подставить к введённому времени текущую дату.

function onEdit(e) {
  var sheet = e.source.getActiveSheet();
  var range = e.range;
  if (range.getColumn() === 1 || range.getColumn() === 2) {
    var time = range.getValue();
    if (typeof time === 'object') {
      var hours = time.getHours();
      var minutes = time.getMinutes();
      var date = new Date();
      date.setHours(hours);
      date.setMinutes(minutes);
      date.setSeconds(0); // Обнуляем секунды
      var formattedDate = Utilities.formatDate(date, Session.getScriptTimeZone(), 'dd.M HH:mm');
      sheet.getRange(range.getRow(), range.getColumn()).setValue(formattedDate);
    }
  }
}

Но, после ввода в ячейку например 14:00 значение сначала меняется на 25.11.2023 14:00, а затем сразу же на 25.11.2023 14:33. С чем это может быть связано?

При замене date.setMinutes(minutes); на date.setMinutes(minutes - 33); в ячейке выводится реально введённое время -33 минуты (25.11.2023 13:27).


Ответы (0 шт):