2015-07-08 1 views
0

У меня есть сценарий, который помещает сегодняшнюю дату (дату запуска скрипта) в различные ячейки в электронной таблице в Сиднее, которая выглядит так:Google App Script Utilities.formatDate (новая дата() добавляет дни до сегодняшнего дня

cell.setValue("" + Utilities.formatDate(new Date(), "UTC+10", "dd-MM-YYYY")); 

Это прекрасно работает, но есть и некоторые клетки, где мне нужно, чтобы это место не сегодняшнюю дату, но через несколько дней или недель в будущем - например, некоторые клетки мне нужно, наполненные значением, 5 дней с момента, когда сценарий запущен, две недели и т. д. Как я могу это сделать? Ни один из вариантов, которые я могу найти в Интернете, не работает должным образом.

Спасибо!

ответ

0

Попробуйте это:

var nextDay = new Date() 
    nextDay = nextDay.setDate(nextDay.getDate()+1); 
    cell.setValue(Utilities.formatDate(new Date(nextDay), "UTC+10", "dd-MM-YYYY")); 

Или

cell.setValue(Utilities.formatDate(new Date(new Date().setDate(new Date().getDate()+1)), "UTC+10", "dd-MM-YYYY")) 
0

Для того, чтобы ответить Akshin немного проще ...

var currdate = new Date(); 
var daystochange = 5; 
var newdate = new Date(currdate.getFullYear(), currdate.getMonth, currdate.getDate() + daystochange); 

Теперь имейте в виду, что если вы хотите, чтобы убедиться, новую дату, находящуюся еще внутри рабочей недели, вы можете использовать newdate.getDay(), чтобы получить день как целое число (0 = воскресенье, 1 = понедельник. , , 5 = пятница и т. Д.). И вы всегда можете отформатировать дату, как указано Akshin с

var formatteddate = Utilities.formatDate(newdate); 

Смотрите больше на MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date