2013-03-10 38 views
0

我将在日历中添加事件。日期选择器中的事件启动日期和闹钟时间

我的代码是正确的,但我需要Datepicker的日期和时间。

如何从日期选择以下代码设置日期和时间:

EKEventStore *es = [[EKEventStore alloc] init]; 
[es requestAccessToEntityType:EKEntityTypeEvent completion:^(BOOL granted, NSError *error) { 
    /* This code will run when uses has made his/her choice */ 
    EKEvent *myEvent = [EKEvent eventWithEventStore:es]; 
    myEvent.title = @"New Event"; 

    myEvent.startDate = [NSDate date]; // I need to set date from Datepicker 

    NSTimeInterval interval = 60*+5; // I need to set time from Datepicker 
    EKAlarm *alarm = [EKAlarm alarmWithRelativeOffset:interval]; 
    [myEvent addAlarm:alarm]; 
    myEvent.endDate = [[NSDate date] initWithTimeInterval:600 sinceDate:myEvent.startDate]; 

    [myEvent setCalendar:[es defaultCalendarForNewEvents]]; 
    NSError *err; 
    [es saveEvent:myEvent span:EKSpanThisEvent error:&err]; 
}]; 

你可以看到评论,我将设置日期和时间。

谢谢。

+0

什么是你想要的区间什么是68 * + 5? – 2013-03-10 13:36:31

回答

0

我找到了日期和时间的解决方案。而我与你分享代码:

对于日期从日期选择器:

NSDate *selectedDate = self.datePicker.date; 
myEvent.startDate = selectedDate; 

对于报警时间从日期选择器:

EKAlarm *alarm = [EKAlarm alarmWithAbsoluteDate:selectedDate]; 
[myEvent addAlarm:alarm]; 

这就是全部。

良好的编码;)

0

使用(假设datePicker为您的出路UIDatePicker):

NSDate *date = self.datePicker.date; 
myEvent.startDate = date; 

或者在同一行:

myEvent.startDate = self.datePicker.date 

对于时间间隔:

NSTimeInterval interval = <time in seconds>; 

编辑:(后您的评论)

因为你只需要时间,而不是日期+时间。然后您需要使用NSDateFormatter并格式化日期。

+0

此代码未运行,因为我的日期选择器使用日期和时间初始化.. 不仅日期 – juniorCoder 2013-03-10 13:38:02

+0

检查我已编辑的答案。 – 2013-03-10 13:40:36

+0

我需要datepicker的日期和时间。 – juniorCoder 2013-03-10 13:41:15