Выпуск:
Конструктор даты не возвращает дату / время, только дату.
Решение:
Правильно отформатируйте дату для сравнения, передав new Date()
для метода Utilities.formatDate()
.
Пример:
Вы передаете только следующее:
var cur_date = new Date('7/31/2018');
Logger.log(cur_date);
//returns 'Tue Jul 31 00:00:00 GMT+01:00 2018'
Чтобы получить то, что вы ожидаете, вынужно также передать время:
var cur_date = new Date('7/31/2018 06:00:00');
Logger.log(cur_date);
//returns 'Tue Jul 31 06:00:00 GMT+01:00 2018'
Это ожидаемое поведение, конструктор даты не может печатать время, если вы не передаете его ему.
Таким образом, для сравнения дат вы можете использовать конструктор даты в Utilities.formatDate()
, чтобы ваш сценарий мог успешно сравнить их (с датой, которую вы построили, а не с текущей датой / временем по умолчанию), имейте в виду, что вынужно передать время на new Date()
, если вы хотите, чтобы это тоже сравнивалось.
var cur_date = Utilities.formatDate(new Date(),'GMT+1','M/dd/yyyy hh:mm:ss');
Ссылки:
new Date()
для конструктора даты. Utilities.formatDate()
для форматирования дат в скрипте Google Apps.