Почему может не работать new Date() в Google Script?
Делаю пустой скрипт с одной строкой: var CurDate = new Date();
При попытке запуска пишет: "это не функция, это объект". И посылает далеко и надолго.
Что делать?
Хоспаде, мало того, что некропост, так еще и забил читать предыдущие ответы и комменты под ними, где всё написанное тобой обсуждалось... Неужели настолько циферок на акке не хватает, что таким приходится заниматься? Грустно от тебя и за тебя.
В документации не описано именно Date(), т.к. это именно JS, но в документации есть formatDate(...), в примере которого есть в чистую использование new Date(). Т.е., согласно документации самого гугла, работать должно.
Ошибки может и есть, но в инете полно других примеров и у всех работает без проблем.
Он не понимает, что такое Date, как он поймет, что такое метод now() из Date?
Тем не менее, проверил. Те же яйца, только в профиль :( Дает ту же ошибку.
Klohtun: «это не функция, это объект» — значит, что Date существует (возможно), но не является функцией. new ({}) дает такой же эффект.
Я вижу, что у вас есть тенденция называть переменные с большой буквы. Проверьте, что не создаете переменную Date.
GS прекрасно понимает var CurDate = new Date(); повторюсь код рабочий, в GS используется ECMA-262 3rd Edition, у него есть сложности с датой, но скорее с парсингом, никак не с new Date().
У меня 1 строка кода, которую я и привел. Других нет. И ни в каких видах Date больше взяться ни от куда не может. Скрипт чистый, с нуля, в новом, чистом проекте. Так что дело не в этом.
Запускаю — все работает. Date.now, кстати, тоже есть. Так что смотрите в дебаггере, чему у вас равен Date, на что он ссылается и кто его мог переопределить.
Вот этот код выполняется без ошибок
function dateTest() {
var date = new Date();
Browser.msgBox(date);
}
Зайди в редактор скрипта, скопипасти код, выбери функцию dateTest сверху и нажми на "жучка". Должен увидеть в Sheet окно с текущей датой. Не увидишь - скажи что будет, посмотрим.