У меня есть форма Google с динамическим раскрывающимся списком с датами. Каждый раз, когда пользователь отправляет ответ, он отправляется на лист в виде строки (например: '5/22/2017 вместо просто 5/22/2017 ). У меня есть этот скрипт Google, который запускается при отправке формы для удаления одного qoute, так что он будет рассматриваться как дата, а не строка.
function editDate(e){
var sh = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('RAW');
var rg = sh.getRange(2,6,sh.getLastRow()-1,2);
var data = rg.getValues();
for(var i=0;i<data.length;i++){
var datstr=String(data[i][0]).replace("'","");
data[i][0]=new Date(datstr);
}
rg.setValues(data);
}
Я заметил, что когда single qoute (') удаляется, дата становится предыдущей датой (Например, при отправке формы значение раскрытия равно ' 5/22/2017 , но когда скрипт запускается, он становится 5/21/2017 9: 00: 00 . Я создал образец формы Google и подключил ее к тестовому листу, чтобы проверить тот же код и он работает отлично и отражает правильную дату. Но на моем фактическом файле это не так, любая рекомендация по этому вопросу будет высоко оценена.