如何将NSDateFormatter更改为"DD/MM/YYYY"?

pix*_*abs 2 iphone xcode objective-c nsdate ios

我试过这个:

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

 EKEvent *event  = [EKEvent eventWithEventStore:eventStore];
 event.title = [NSString stringWithFormat:@"DHSB Assignment: %@", Assignment1.text];

 NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
 [formatter setDateFormat:@"M/d"];
 event.startDate = [formatter dateFromString:dateField.text];

 NSDateFormatter *formatter2 = [[NSDateFormatter alloc] init];
 [formatter2 setDateFormat:@"M/d"];
 event.endDate = [formatter2 dateFromString:dateField.text];

 [event setCalendar:[eventStore defaultCalendarForNewEvents]];
 [eventStore saveEvent:event span:EKSpanThisEvent error:&err]; 
 [EKEventStore release];

 NSLog(@"Successfully added '%@' to the calendar", Assignment1.text);
Run Code Online (Sandbox Code Playgroud)

...但如果我输入格式为"DD/MM/YYYY"的日期,则事件不会添加到日历中.

为什么是这样?

谢谢!

Osc*_*Ben 7

我认为正确的格式应该是:

[formatter setDateFormat:@"dd/MM/yyyy"];
Run Code Online (Sandbox Code Playgroud)

尝试在dateFromString方法上放置NSLog,以确保获得正确的结果

编辑:您可能还需要根据需要为日期设置正确的区域设置.