Я новичок в скрипте приложений Google, и у меня возникают проблемы при разборе строк дат из формы UiApp. В этом случае я пишу сценарий, позволяющий пользователю фильтровать электронную таблицу с отметкой времени в указанном диапазоне дат.
Моя проблема в том, что приведенный ниже код возвращает недопустимый объект даты при передаче строки даты (из текстового поля с именем dateFromField
) в обычном формате javascript YYYY,M,D
(то есть 2012,1,2
для 2 февраля 2012 г.):
function dateFilter(e) {
var fromDate = new Date(e.parameter.dateFromField);
}
Я проверил, что e.parameter.dateFromField
правильно возвращает заданную строку (Logger.log(e.parameter.dateFromField);
возвращает 2012,1,2
) и что ее тип - строка (а не объект).
Однако, если я введу строку даты непосредственно в функцию, то есть ::1014*
function dateFilter(e) {
var fromDate = new Date(2012,1,2);
}
Я получаю действительный объект даты. Я не понимаю разницу между этими двумя примерами - насколько я могу судить, они эквивалентны; в обоих случаях строка 2012,1,2
передается в функцию new Date
. Я, очевидно, упускаю что-то простое - кто-нибудь может мне сказать, что?