0

我将在日历中添加一个事件。

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

如何从 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];
}];

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

谢谢。

4

2 回答 2

0

使用(假设您是UIDatePickerdatePicker的出口):

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

或在一行中:

myEvent.startDate = self.datePicker.date

对于时间间隔:

NSTimeInterval interval = <time in seconds>;

编辑:(在您发表评论后)

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

于 2013-03-10T13:33:53.617 回答
0

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

对于日期选择器的日期:

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

对于日期选择器的闹钟时间:

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

就这样。

良好的编码;)

于 2013-03-10T22:12:00.560 回答