Как я вижу в ваших комментариях к ответу @Cooper, startDate и endDate одинаковы. Вот почему вы получаете сообщение об ошибке Event start date must be before event end date. (line 11, file "Code")
.
Если вы хотите, чтобы событие длилось всего один день, вы должны указать только одну дату, как в здесь . Вы должны использовать createAllDayEvent (title, startDate, endDate) только в том случае, если событие длится более одного дня.
Если некоторые из событий охватывают только один день, а некоторые - много, вы можете добавитьусловие, которое сравнивает обе даты, так что он использует другой метод, основанный на этом условии.
Так что вы можете попробовать изменить это:
for(var i=0; i < data.length; i++) {
var title = data[i][0];
var startDate = new Date(data[i][1]);
var endDate = new Date(data[i][2]);
cal.createAllDayEvent(title, startDate, endDate);
}
На это:
for(var i = 0; i < data.length; i++) {
var title = data[i][0];
var startDate = new Date(data[i][1]);
var endDate = new Date(data[i][2]);
if(startDate.getFullYear() == endDate.getFullYear() && startDate.getMonth() == endDate.getMonth() && startDate.getDate() == endDate.getDate()) {
cal.createAllDayEvent(title, startDate);
} else {
cal.createAllDayEvent(title, startDate, endDate);
}
}
Я надеюсь, что это поможет.