Как увеличить даты в Google Sheets с помощью скриптов приложений - PullRequest
0 голосов
/ 24 января 2019

Я работаю над приложением для планирования, используя Google Sheets и Apps Scripts. Я пытаюсь выяснить, какой код использовать для увеличения даты один день за один раз, начиная с определенной даты. То, что я до сих пор пробовал, это ...

var startdate = "1/13/19";
var dt = new Date(startdate);
newSheet.getRange("C1").setValue(dt);

// increment date by 1 day
dt = new Date(dt + 86400);
newSheet.getRange("D1").setValue(dt);

// increment date by 1 day
dt = new Date(dt + 86400);
newSheet.getRange("E1").setValue(dt);

Значения, которые я получаю в C1, D1, E1: 1/13, 1/13, 1/13. Если я использую 86400000 миллисекунд в качестве значения приращения, я получаю в результате 31.12.1969.

Служба электронных таблиц Google, похоже, не очень поддерживает функции дат. Должен быть способ сделать это. Спасибо за любые рекомендации.

1 Ответ

0 голосов
/ 24 января 2019

Я бы рекомендовал использовать четыре цифры года.Для дат единица - день, поэтому достаточно + 1.Следующий способ запускает dt приращения при переходе ячеек вправо (обычно!), Поэтому для последовательных дат просто продолжайте добавлять 1 (или 2, если вы хотите пропустить день):

function one() {
  var startdate = "1/13/2019";
  var newSheet = SpreadsheetApp.getActiveSheet();
var dt = new Date(startdate);
dt.setDate(dt.getDate());
newSheet.getRange("C1").setValue(dt);

// increment date by 1 day
dt.setDate(dt.getDate()+1);
newSheet.getRange("D1").setValue(dt);

// increment date by another 1 day
dt.setDate(dt.getDate()+1);
newSheet.getRange("E1").setValue(dt);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...