-1

这是我的代码!但是 event.startDate 返回 2012-12-29 18:05:00 +0000

数据是一个字符串 = “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;

为什么是 2012-12-29 而不是 2012-12-04 ??

这是完整的脚本

- (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.
        }
    }];
}
4

1 回答 1

0

这是因为您在格式的年份部分@"YYYY"应该使用 @" " 时使用了。yyyy

请注意,即使您修复了该问题,如果您不指定时区,您的时间可能仍然是错误的。

于 2012-12-02T19:21:17.353 回答