ddI在本地日历中创建事件时面临问题,当我通过事件时。startDate不是当前时间戳…还事件。endDate不工作,不同的值如下..
- (void)createEventInCalendar:(NSString *)calendarType withTitle:(NSString *)eventTitle startDate:(NSString *)stDate endDate:(NSString *)endDATE withNotes:(NSString *)paramNotes addAlarm:(BOOL)alarmNeeded {
EKEventStore *eventStore = [[EKEventStore alloc] init];
/* Are there any calendars available to the event store? */
if ([eventStore.calendars count] == 0){
NSLog(@"No calendars are found.");
}
EKEvent *event = [EKEvent eventWithEventStore:eventStore];
event.title = [NSString stringWithFormat:@"%@ with Alarm", eventTitle];
//Convert String to DATE
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"yyyy-MM-dd HH:mm:SS"];
NSDate* date1 = [dateFormat dateFromString:stDate];
NSDate* date2 = [dateFormat dateFromString:endDATE];
//get Difference betwenn 2 DATE Values
NSTimeInterval distanceBetweenDates = [date1 timeIntervalSinceDate:date2];
event.startDate = date1;
event.endDate = [date1 initWithTimeInterval:distanceBetweenDates sinceDate:event.startDate];
event.notes = paramNotes;
/* The alarm goes off 2 seconds before the event happens */
EKAlarm *alarm = [EKAlarm alarmWithRelativeOffset:-2.0f];
[event addAlarm:alarm];
[event setCalendar:[eventStore defaultCalendarForNewEvents]];
NSError *err;
[eventStore saveEvent:event span:EKSpanThisEvent error:&err];
NSLog(@"Error shows: %@", err);
//Show EVENT EDIT Screen to User.
EKEventEditViewController *controller = [[EKEventEditViewController alloc] init];
controller.eventStore = eventStore;
controller.event = event;
controller.editViewDelegate = self;
[self presentModalViewController:controller animated:YES];
}
调试后:ErrorDomain =EKErrorDomain Code=4 "起始日期必须在结束日期之前。"UserInfo=0x223170 {NSLocalizedDescription=开始日期必须在结束日期之前}
where as my Log: ST DATE: 2013-04-25 07:50:00,日期:2013-04-29 07:50:00
但是事件编辑视图显示结束日期值在开始日期之前的某个时间。它很奇怪。
谁能告诉我怎么解决这个问题?谢谢。问题已解决:
一个简单的错误:
//get Difference betwenn 2 DATE Values
NSTimeInterval distanceBetweenDates = [date1 timeIntervalSinceDate:date2];
应该是
//get Difference betwenn 2 DATE Values
NSTimeInterval distanceBetweenDates = [date2 timeIntervalSinceDate:date1];
谢谢。