Почему скрипт увеличивает введённое время на 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).