eventsMatchingPredicate :를 사용하여 EKEventStore의 인스턴스에서 하루 동안 모든 이벤트를 검색하려고합니다. 그러나 읽었을 때 NSDate 객체는 기본적으로 GMT로 설정되고 EKEventStore는 그렇지 않습니다. '티. 그래서 내 질문은 EKEventStore의 표준 시간대를 변경하거나 NSDate 개체를 조정하여 시간대가 각 표준 시간대에 맞춰지지 않도록하는 방법입니다.EKEventStore 표준 시간대가 GMT가 아닙니다
예를 들어 저는 GMT -0600입니다. 캘린더 UI에 사용하는 TKCalendarMonthView에서 1 월 16 일과 17 일을 클릭하면 Martin Luther King Day가 두 날짜에 모두 표시됩니다. 시작 시간은 1 월 16 일 오전 6시이며, 종료 시간은 오전 12시에 시작하여 오후 11시 59 분까지 지속되는 대신 1 월 17 일 오전 5: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];
}