2011-11-21 136 views
0

我正在努力將事件添加到iPhone日曆中,並且所有事情都按計劃進行,但是,從startDate中減去了一個半月左右的時間。當日期實際上是2012年2月14日時...將日曆添加到日曆中的日期是2011年12月25日。EKEventStore通過NSDate並減去幾個月

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

您只需在格式化程序的設置中設置區分大小寫的拼寫錯誤。

用途:

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

而且我希望這有助於!