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