Скрипт, работающий в неправильном часовом поясе, должен быть GMT+2.
Я попытался изменить настройки электронной таблицы и свойства проекта.
function onEdit(e) {
var TIME_ZONE = "GMT+2";
var date = Utilities.formatDate(new Date(),"Africa/Johannesburg", 'hh:mm:ss');
//if column A has been edited, set date in same row in column B
if (e.range.getColumn() == 1) {
var row = e.range.getRow();
e.source.getSheetByName('validated').getRange(row, 2).setValue(date);
}
}
Даже пробовал это:
var date = Utilities.formatDate(new Date(), TIME_ZONE, 'hh:mm:ss');
Нужна отметка времени, чтобы установить текущее время при редактировании.
Измените формат на hh:mm:ss a
, добавление a
установит формат в желаемый диапазон AM/PM. См. SimpleDateFormat
класс Технические характеристики в Oracle для получения более подробной информации о том, как правильно форматировать даты с помощью Utilities.formatDate()
метода.
Если все еще есть проблема, пожалуйста, обратитесь к моему предыдущему комментарию.
Спасибо, просматривал этот документ и пробовал все другие методы, кроме этого. :)
НП! Обычно его упускают из виду :)
Пожалуйста, обновите свой вопрос с помощью этого журнала испытаний:
function getTZ() { var scriptTZ = Session.getScriptTimeZone(); Logger.log(scriptTZ); }