Когда я создаю событие из начальной и конечной даты в листе Google, конечной датой в календаре является один день раньше - PullRequest
1 голос
/ 02 октября 2019

Я написал простой скрипт, чтобы взять дату начала и дату окончания из 2 ячеек в электронной таблице и создать событие календаря. Ячейки отформатированы как дата и будут отображаться в раскрывающемся списке календаря для выбора даты. Часовые пояса на листе и в календаре одинаковы. Функция получает событие onEdit из электронной таблицы. Сама функция работает и успешно создает событие в календаре, но с конечной датой, которая на один день раньше даты, указанной в электронной таблице.

получает дату начала на основе отредактированной строки и столбца сдаты начала
var onSiteStartDate = ss.getRange(editedRow, onSiteStartDateRangeCol).getValue();

получает дату окончания таким же образом
var onSiteEndDate = ss.getRange(editedRow, onSiteEndDateRangeCol).getValue();

Создает событие на основе этих дат с заголовком, объединенным из других ячеек встрока
onSiteCal.createAllDayEvent(onSiteEventTitle, onSiteStartDate, onSiteEndDate);

дата начала и окончания регистрации в консоли возвращает Wed Oct 09 2019 00:00:00 GMT-0500 (CDT)Thu Oct 17 2019 00:00:00 GMT-0500 (CDT)

Однако в календаре событие начинается 9-го числа,и последний день мероприятия - 16-е.

Я безуспешно возился с часовыми поясами в электронной таблице и календаре.

Что здесь происходит?

1 Ответ

1 голос
/ 02 октября 2019

Похоже, существует проблема с createAllDayEvent (), поскольку она не работает должным образом. Я использовал тот же формат даты, который указан в документации :

CalendarApp.createAllDayEvent("All day", new Date('October 3, 2019'), new Date('October 6, 2019'));

Событие в календаре создается с 3 октября по октябрь 5 , когда оно должнобыть октябрь 6 .

Однако, поскольку вы работаете с датами и времени, я рекомендую вам использовать createEvent () , который использует формат '20 июля 1969 г. 20:00: 00 UTC 'и работает как положено.

Что касается ошибки, вы можете нажать на звездочку рядом с номером проблемы, чтобы получать обновления, и я также сообщу об этом.

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