0

iPhoneのカレンダーにイベントを追加しようとしていますが、すべてが計画どおりに進んでいますが、startDateから1か月半強が差し引かれています。日付が実際に2012年2月14日である場合、カレンダーに追加されるイベントの日付は2011年12月25日です。

ExpiredsOn.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;
4

1 に答える 1

1

フォーマッタの設定では、大文字と小文字を区別するタイプミスがあります。

使用する:

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

そして、これがお役に立てば幸いです。

于 2011-11-22T15:22:41.563 に答える