Google Apps Script (spreadsheet) автоустановка даты и времени.
Доброго времени суток!
Нужен скрипт, который бы выполнял следующую задачу: Если в первой ячейке находятся данные (не важно какие), то во-вторую ячейку записать сегодняшнюю дату. Собственно гугл-поиск выдал не мало результатов. Я объединил несколько найденных кодов, так как в каждом из них чего-нибудь да не хватало, либо работало не так как нужно. Этот код работает, но дату и время он записывает в разные ячейки, ну и плюс сам код разросся в полтора раза.
function onEdit(e){
var sheet = SpreadsheetApp.getActiveSheet();
var range = sheet.getActiveRange();
var row = range.getRow(); // Адрес строки активной ячейки
var col = range.getColumn();
var name = sheet.getName();
if (name == "Лист1" && col == 8){ // Если изменения на листе "Лист1" и в колонке H
if (sheet.getRange(row , 10).getValues()==''){ //Если дата в колонке 10 не заполнена
sheet.getRange(row, 10).setValues([[new Date()]]); //Заполняем текущую дату
}
}
if (name == "Лист1" && col == 8){ // Если изменения на листе "Лист1" и в колонке F
if (sheet.getRange(row , 11).getValues()==''){ //Если дата в колонке 11 не заполнена
sheet.getRange(row, 11).setValues([[new Date().toLocaleTimeString().replace(/([\d]+:[\d]{2})(:[\d]{2})(.*)/, "'$1")]]); //Заполняем текущее время
}
}
};
Как сделать так, чтобы эта часть кода выдавала одновременно и время и дату в одной ячейке? Я знаю, что это возможно, но самому не удается прийти к решению проблемы.
sheet.getRange(row, 11).setValues([[new Date().toLocaleTimeString().replace(/([\d]+:[\d]{2})(:[\d]{2})(.*)/, "'$1")]]);
В программировании не силен, поэтому если не затруднит объясните как для полного чайника. |
RocketDocks,
sheet.getRange(row, 11).setValues([[new Date().toLocaleString('ru')]]);
|
рони,
Круто! Все работает. А можно как то формат даты изменить? Сейчас дату выдает в таком виде: 20 сентября 2017 г. 7:00:00 PKT Как привести к такому: 20.09.17 7:00:00 |
RocketDocks,
new Date().toLocaleString('ru', {
year:'2-digit',
month: '2-digit',
day: '2-digit',
hour: '2-digit',
minute: '2-digit',
second: '2-digit'
})
https://developer.mozilla.org/ru/doc...toLocaleString |
рони,
Благодарю. Нашел еще один способ) Формат > Числа > Другие форматы Там можно менять как душе угодно. |
| Часовой пояс GMT +3, время: 02:42. |