Я пытаюсь извлечь все события за один день из экземпляра EKEventStore, используя eventsMatchingPredicate:, но, как я читал, объекты NSDate по умолчанию установлены в GMT, а EKEventStore - нет. Поэтому мой вопрос: как мне изменить часовой пояс EKEventStore или настроить объекты NSDate, чтобы время не было выключено для каждого часового пояса?
Например, я нахожусь в GMT -0600 и щелкаю 16 и 17 января в TKCalendarMonthView, который я использую для пользовательского интерфейса календаря, и показывает День Мартина Лютера Кинга в обе даты. Время начала - 6 утра 16 января, а время окончания - 5:59 утра 17 января (в результате моего часового пояса), а не начало в 12:00 утра и продолжается до 23:59 вечера. Код, используемый для получения событий, приведен ниже.
- (void)calendarMonthView:(TKCalendarMonthView *)monthView didSelectDate:(NSDate *)d {
// Update tableData with event data from date
[tableData removeAllObjects];
NSArray *a = [systemCalendar eventsMatchingPredicate:[systemCalendar predicateForEventsWithStartDate:d endDate:[NSDate dateWithTimeInterval:84600 sinceDate:d] calendars:nil]];
[tableData addObjectsFromArray:a];
[self.eventsTable reloadData];
}