@AleksKc

Каким образом можно прибавить дни к в формату dd.mm.yyyy, если дни будут задаваться пользователем?

Всем доброго времени суток. Я работаю с гугл таблицами, и мне нужно сделать скрипт, который будет брать две даты. Первая дата - текущая, вторая - добавление нужного количества дней к первой дате. Количество дней прибавляемых к второй дате происходит за счет работы другого скрипта, где указываются эти значения.

function doGet(e)
{
  var ss = SpreadsheetApp.openById("Id гугл таблицы");
  var sheet = ss.setActiveSheet(ss.getSheets()[1]);
  var params = e.parameter;
  var MyDate = new Date();
  var MyDateString;
  var MyDateStringR;
  MyDateString = ('0' + MyDate.getDate()).slice(-2) + '.'
             + ('0' + (MyDate.getMonth()+1)).slice(-2) + '.'
             + MyDate.getFullYear();
  MyDateStringR = ('0' + (MyDate.getDate()+params["OstDate"])).slice(-2) + '.'
             + ('0' + (MyDate.getMonth()+1)).slice(-2) + '.'
             + MyDate.getFullYear();
 
    sheet.appendRow( [params["var1"], params["var2"], MyDateString, MyDateStringR, params["var3"]] );
}

При выполнении этого кода скрипт выводит неверную дату в переменной "MyDateStringR". В чем может быть ошибка?

И еще второй вопрос. Если строку:
MyDateStringR = ('0' + (MyDate.getDate()+params["OstDate"]))

Заменить на:
MyDateStringR = ('0' + (MyDate.getDate()+33))
То скрипт выведет количество неверное количество дней в месяце (Больше 31). Можно ли как-то сделать, чтобы при сложении дней скрипт работал как функция setDate()? Формат данных мне нужно получить dd.mm.yyyy
  • Вопрос задан
  • 125 просмотров
Пригласить эксперта
Ответы на вопрос 1
Xuxicheta
@Xuxicheta
инженер
MyDate.setDate(MyDate.getDate()+33)
а уже потом переводите его в строку
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы