0
我在这个问题上寻找帮助,但我没有答案。我正在使用代码设置事件提醒。使用断点和步进。我看到事件时间是正确的。下面是我如何设置我的提醒事件提醒时间设置,关闭6小时
EKEventStore *eventDB = [[[EKEventStore alloc] init]autorelease];
EKEvent *myEvent = [EKEvent eventWithEventStore:eventDB];
NSString * eventTitle = [NSString stringWithFormat:@"%@ - %@",app.dealerBusinessName,serviceOrComments.text];
myEvent.title = eventTitle;
// "destinationDate" is the date I want to set the reminder for it is correct in debugger
//its format is 2011-06-03 15:45:58 +0000 which means (i would think) that the reminder
//should be set for 6/3/2011 3:45PM but its always 6 hours earlier (in this case at 9:45am
NSLog(@"value: %@",destinationDate);
myEvent.startDate = [[[NSDate alloc] initWithTimeInterval:0 sinceDate:destinationDate ]autorelease];
myEvent.endDate = [[[NSDate alloc] initWithTimeInterval:3600 sinceDate:myEvent.startDate]autorelease];
myEvent.allDay = NO;
myAlarmsArray = [[NSMutableArray alloc] init];
EKAlarm *alarm1 = [EKAlarm alarmWithRelativeOffset:-3600]; // 1 Hour
EKAlarm *alarm2 = [EKAlarm alarmWithRelativeOffset:-86400]; // 1 Day
[myAlarmsArray addObject:alarm1];
[myAlarmsArray addObject:alarm2];
myEvent.alarms = myAlarmsArray;
[myEvent setCalendar:[eventDB defaultCalendarForNewEvents]];
NSError *err;
[eventDB saveEvent:myEvent span:EKSpanThisEvent error:&err];
if (err == noErr) {
//no error, but do not show alert because we do that below.
}
现在Im相当肯定我可以再补充21,600的时间,但正确的方式做到这一点?我不理解NSDate是如何工作的,它使我疯狂。有人可以向我解释什么是正确的方法吗?谢谢!
感谢您的帮助理解this.I已设置一些代码,查看用户当地时间和GMT之间的时差。例如它是-21000。然后我创建了一个反转该时差的整数(将其更改为21000),并使用该整数偏移日历(该日历为日历中的本地用户设置了正确的时间)。锻炼得很好! – Louie 2011-06-03 15:08:11
相关知识:-) – 2011-06-03 15:40:10