首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >事件提醒时间设置,偏差6小时

事件提醒时间设置,偏差6小时
EN

Stack Overflow用户
提问于 2011-05-30 14:56:39
回答 1查看 1.3K关注 0票数 0

我已经在这个问题上寻求帮助,但我找不到答案。我正在用代码设置事件提醒。使用断点和单步执行。我看到事件的时间是正确的。下面是我如何设置我的提醒

代码语言:javascript
复制
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.
    }

现在我非常确定我可以在时间上增加21600,但这是正确的方法吗?我不明白NSDate是如何工作的,这让我抓狂。谁能给我解释一下做这件事的正确方法是什么?谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-05-30 15:30:23

我最近遇到了一个类似的问题,它真的让我发疯。您必须考虑您的时区(或您的模拟器/设备设置的时区)。NSDate表示总是格林尼治标准时间,NSCalendar表示时区内的时间。因此,您正在经历的时差将是您的时区和GMT之间的时差(您的闹钟在GMT时间15:45触发)。

因为我希望我的日期是绝对的,而不考虑时区,所以我将所有的NSCalendars设置为格林威治时间-它在我的情况下是有效的,当然是YMMV。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6173184

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档