This is my code! But event.startDate return 2012-12-29 18:05:00 +0000
data is a string = “04-12-2012”
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"dd-MM-YYYY HH:mm"];
NSDate *date = [dateFormat dateFromString:[NSString stringWithFormat:@"%@ %@",data,oraInizio]];
NSDate *date2 = [dateFormat dateFromString:[NSString stringWithFormat:@"%@ %@",data,oraFine]];
event.startDate=date;
event.endDate=date2;
Why 2012-12-29 and not 2012-12-04 ??
This is the complete script
- (IBAction)aggiungiEvento:(id)sender {
EKEventStore *eventStore = [[EKEventStore alloc] init];
if([eventStore respondsToSelector:@selector(requestAccessToEntityType:completion:)]) {
// iOS 6 and later
[eventStore requestAccessToEntityType:EKEntityTypeEvent completion:^(BOOL granted, NSError *error) {
if (granted){
EKEvent *event = [EKEvent eventWithEventStore:eventStore];
event.title = [NSString stringWithFormat:@"%@ al %@",tipoLocale,nomeLocale];
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"dd-MM-YYYY HH:mm"];
NSLog(@"%@ %@",data,oraInizio);
NSDate *date = [dateFormat dateFromString:[NSString stringWithFormat:@"%@ %@",data,oraInizio]];
NSDate *date2 = [dateFormat dateFromString:[NSString stringWithFormat:@"%@ %@",data,oraFine]];
event.startDate=date;
event.endDate=date2;
[event setCalendar:[eventStore defaultCalendarForNewEvents]];
NSError *err;
[eventStore saveEvent:event span:EKSpanThisEvent error:&err];
NSLog(@"%@ %@",event.startDate,data);
}else
{
//----- codes here when user NOT allow your app to access the calendar.
}
}];
}
It is because you have used
@"YYYY"when you should have used @”yyyy” in the year part of your format.Note that even after you fix that, your time may still be wrong if you don’t do something about specifying the time zone.