Создание функции, которая возвращает дату в Google Sheets - PullRequest
2 голосов
/ 30 марта 2020

Я создал функцию, которая берет дату и количество месяцев для добавления к этой дате и возвращает следующую дату. Кажется, что функция работает отлично, и я проверяю это с помощью DEBUG. Странно то, что когда я регистрирую возвращаемую дату, используя строку ниже,

monthstoadd = 18

date1.setFullYear(2019, 6, 1); 

returnDate = AddMonths(date1, monthstoadd);   // my selfmade function

Logger.log("returnDate(1):", returnDate.getMonth(), "/" , returnDate.getDay(), "/", returnDate.getFullYear());

дата в журнале не совпадает с датой в отладчике. Кто-нибудь видел это? Кроме того, кто-нибудь знает, как получить целое число числа? Я попытался выполнить округление, но получил некоторые странные результаты.

Например: отладчик показывает значение как Tue De c 01 2020 00:00:00 GMT-0500 (восточное стандартное время), но журнал показывает значение как returnDate (1 ): 11,0 / 2,0 / 2020,0

1 Ответ

3 голосов
/ 30 марта 2020

Выпуск:

getMonth возвращает месяц с 0 по 11, где 0 представляет январь, а 11 представляет декабрь. getDay возвращает день недели 0-6, где 0 обозначает воскресенье, а 6 обозначает субботу. Итак, журнал:

returnDate(1): 11.0 / 2.0 / 2020.0

является правильным и представляет

returnDate(1): Dec / Tue / 2020.0

Tue Dec 01 2020 00:00:00 GMT-0500 (Eastern Standard Time) 

Решение:

Использование Intl:

console.info(new Intl.DateTimeFormat().format(returnDate))

или

console.log("returnDate(1):", returnDate.getMonth()+1, "/" , returnDate.getDate(), "/", returnDate.getFullYear());//Note Date vs Day and "+1"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...