首页 文章

EKEventStore通过了NSDate并减去了几个月[关闭]

提问于
浏览
0

我正在努力为iPhone日历添加一个事件,一切都按计划进行,但是,从我的startDate中减去一个半月的时间 . 当日期实际上是2012年2月14日...添加到日历的活动日期是2011年12月25日 .

expiresOn.text是一个类似“2012年2月14日”的字符串 . 任何人都可以提供有关可能导致问题的原因的见解吗?

EKEventStore *eventStore = [[EKEventStore alloc] init];

EKEvent *event  = [EKEvent eventWithEventStore:eventStore];
event.title     = [NSString stringWithFormat: @"%@ Expiration", self.navigationItem.title];
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init]; 

NSString *dateString = [NSString stringWithFormat:@"0800 %@", expiresOn.text];

[dateFormat setDateFormat:@"hhmm MMM dd, YYYY"];

NSDate *date = [dateFormat dateFromString:dateString];

event.startDate = date;
event.endDate   = [[NSDate alloc] initWithTimeInterval:600 sinceDate:event.startDate];

[event setCalendar:[eventStore defaultCalendarForNewEvents]];
NSError *err;
[eventStore saveEvent:event span:EKSpanThisEvent error:&err]; 

EKEventViewController *viewController = [[EKEventViewController alloc] initWithNibName:nil bundle: nil];
viewController.event = event;
viewController.allowsEditing = YES;

1 回答

  • 1

    您只需在格式化程序的设置中输入区分大小写的拼写错误 .

    使用:

    [dateFormat setDateFormat:@"MMM dd, yyyy"];
    

    我希望这有帮助!

相关问题