Редактор скриптов приложения - «Не удается найти метод formatDate (объект, строка, строка)» - PullRequest
1 голос
/ 06 февраля 2020

Я создаю скрипт в Apps Script, который будет считать привычку. Он будет использовать сегодняшнюю дату, чтобы найти правильный столбец на листе и отсчитывать оттуда, пока не достигнет пропущенного дня. Чтобы получить сегодняшнюю дату, я пытаюсь использовать:

Utilities.formatDate(new Date(), "EST", "yyyy.MM.dd");,

, которая постоянно выдает мне ошибку:

"Не удается найти метод formatDate (object, string , строка) "

Мой код использует точно такой же синтаксис, который отображается на странице reference , за исключением того, что я изменил часовой пояс с" GMT "на" EST ", но изменил его обратно чтобы «GMT» или «GMT-5» не исправили это, поэтому я немного растерялся.

Я думаю, что это проблема при создании объекта даты из «new Date ()», как я пытался использовать другие методы даты, такие как Date.now(), к которому он выдает «TypeError: Не удается найти функцию в объекте [объект Object]». Я подумал, что это может быть связано с моими областями, но я проверил, и, похоже, у меня было все, что мне нужно.

Я также попытался создать объект Date отдельно, а затем передать переменную в formatDate, но имел тот же результат.

Код, который я пробовал:

var day = Utilities.formatDate(day, "GMT-5", "yyyy.MM.dd");

------
var day = Utilities.formatDate(new Date(), "EST", "yyyy.MM.dd");
------
var day = new Date();
var day = day.now();

Дайте мне знать, если вам нужно больше, чем на go. Спасибо за любую помощь, даже если она просто использует другой метод для установки переменной, равной сегодняшней дате, спасибо !!!

Ответы [ 3 ]

0 голосов
/ 07 февраля 2020

Попробуйте запустить следующий тест в вашем скрипте:

function test() {
  Logger.log(Utilities.formatDate(new Date(), "EST", "yyyy.MM.dd"));
  // output: "2020.02.07"
}

Я получил ожидаемый результат. Как указывает @TheMaster, возможно, у вас где-то конфликтующие имена переменных.

0 голосов
/ 12 февраля 2020

Как только я создал новый проект, утилиты начали работать правильно. Из комментариев @ TheMaster:

Попробуйте выделить проблему> создать новый проект> добавить только одну функцию> одну строку с утилитами. См. Минимальный воспроизводимый пример

Возможно, у вас где-то есть конфликтующие переменные, например, переменные с тем же именем. день - это общее имя ... вы, возможно, использовали его в любых других прилагаемых файловых скриптах.

0 голосов
/ 07 февраля 2020

У меня такая же ситуация, но я могу ее исправить.

Вы сделали Utilities.formatDate(new Date(), "EST", "yyyy.MM.dd");

Вы можете изменить, как показано ниже

var date = new Date; var today= new Date(date.getFullYear(), date.getMonth(), date.getDate()); today = Utilities.formatDate(today, "EST", "yyyy/MM/dd");

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...