tritech / node-icalendar

iCalendar parser and generator for Node.js
MIT License
233 stars 50 forks source link

How to capture events for a single day #44

Open midzer opened 7 years ago

midzer commented 7 years ago

Hi all. from parsed .ics data i want to extract events that happen on a specific day (when cycling through rendering of a monthly calendar for example).

This is what i tried:

var startDate = new Date(date); // specific day at 0:00
var endDate = new Date(startDate.getFullYear(), startDate.getMonth(), startDate.getDate(), 23, 59, 59);
var eventsInDay = [];
for (var i = 0; i < allEvents.length; i++) {
    if (allEvents[i].inTimeRange(startDate, endDate)) {
        eventsInDay.push(allEvents[i]);
    }
}

Miserably inTimeRange() returns true for all events on every day, although my recurring events only happen one time a month.

What is wrong with my implementation?