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, время: 16:50. |