Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 20.09.2017, 00:08
Новичок на форуме
Отправить личное сообщение для RocketDocks Посмотреть профиль Найти все сообщения от RocketDocks
 
Регистрация: 19.09.2017
Сообщений: 3

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, 20.09.2017 в 00:22.
Ответить с цитированием
  #2 (permalink)  
Старый 20.09.2017, 00:22
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

RocketDocks,
sheet.getRange(row, 11).setValues([[new Date().toLocaleString('ru')]]);
Ответить с цитированием
  #3 (permalink)  
Старый 20.09.2017, 00:36
Новичок на форуме
Отправить личное сообщение для RocketDocks Посмотреть профиль Найти все сообщения от RocketDocks
 
Регистрация: 19.09.2017
Сообщений: 3

рони,
Круто!
Все работает.
А можно как то формат даты изменить?

Сейчас дату выдает в таком виде:
20 сентября 2017 г. 7:00:00 PKT


Как привести к такому:
20.09.17 7:00:00
Ответить с цитированием
  #4 (permalink)  
Старый 20.09.2017, 00:46
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

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
Ответить с цитированием
  #5 (permalink)  
Старый 20.09.2017, 17:33
Новичок на форуме
Отправить личное сообщение для RocketDocks Посмотреть профиль Найти все сообщения от RocketDocks
 
Регистрация: 19.09.2017
Сообщений: 3

рони,
Благодарю.
Нашел еще один способ)

Формат > Числа > Другие форматы
Там можно менять как душе угодно.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Google Apps Script функция onEdit(event) Марина Худякова Общие вопросы Javascript 2 13.06.2017 15:26
Как отладить клиентскую часть скрипта в Google Apps Script? Johnny1500 Общие вопросы Javascript 3 24.08.2016 18:15
скрипт Google Apps Script atyagunov Работа 1 27.10.2014 22:59
Вопрос к знатокам google apps script gtr-kaz Общие вопросы Javascript 3 22.10.2014 08:31
Написание скрипта на Google apps script 1000 рублей. azart Работа 0 27.05.2014 13:02