Попытка вычесть 5 дней из определенной даты - Google App Script
Я пытаюсь написать сценарий, который должен отправить электронное письмо и создать две записи календаря при отправке формы. Честно говоря, это мой первый сценарий, и я очень рад, что электронное письмо отправлено, и записи календаря также работают. То, что вызывает у меня головную боль, - это вычесть 5 дней (фактически х дней) из определенной даты.
Сначала я подумал, что могу просто сделать что-то вроде
var liveday = e.values[2];
var newday = liveday-5;
ну, это не сработало:-)
Я попробовал больше:
var newtime = new Date(liveday);
var yr = newtime.getYear();
var dt = newtime.getDay();
var mt = newtime.getMonth();
var dtnew = dtnew.setDate(mt, dt-5, yr);
Но здесь я получил 1418256000000
тогда как liveday = 12/01/2014. Не уверен, почему дни были добавлены, а не вычтены.
Я совершенно запутался, и ответ не может быть таким сложным.
Я просто хочу вычесть 5 дней с 01.12.2014, чтобы получить 27.11.2014.
Спасибо, что посмотрели
1 ответ
Комментарий отправляет вас в довольно сложную серию кодов... есть гораздо более простой способ получить это, вот код:
function test() {
Logger.log('today= '+new Date()+' and 5 days ago is '+subDaysFromDate(new Date(),5));
}
function subDaysFromDate(date,d){
// d = number of day ro substract and date = start date
var result = new Date(date.getTime()-d*(24*3600*1000));
return result
}
Результат логгера:
[13-11-18 23:39:50:364 CET] today= Mon Nov 18 2013 23:39:50 GMT+0100 (CET) and 5 days ago is Wed Nov 13 2013 23:39:50 GMT+0100 (CET)
если вы хотите получить дату в виде дд / мм / гггг используйте Utilities.formatDate(date, timeZone, 'dd/MM/yyyy)
смотри документ здесь