iphone - 在 iPhone 中将事件添加到默认日历时出错

标签 iphone ios objective-c calendar ekeventstore

现在我正在 iPhone 中开发日历应用程序。我正在尝试将事件添加到 iPhone 中的默认日历。在这种情况下,添加事件已成功完成。但我无法在适当的开始时间添加事件。事件的开始日期完全正确,但 iPhone 的默认日历中的时间不同。我使用了以下代码。请帮助我..

NSLog(@"start label is : %@",startLabel.text);//2013-03-28 12:03:41 PM

NSLog(@"end label is : %@",endLabel.text);//2013-03-28 01:03:41 PM


     NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
     [dateFormat setDateFormat:@"yyyy-MM-dd hh:mm:ss a"];
     [dateFormat setTimeZone:[NSTimeZone timeZoneWithName:@"GMT"]];
     NSLog(@"description is : %@",[dateFormat description]);


     NSDate *sDate=[dateFormat dateFromString:startLabel.text];      
     NSDate *eDate = [dateFormat dateFromString:endLabel.text];
     NSLog(@"startDate is : %@",sDate);//2013-03-28 12:03:41 +0000
     NSLog(@"endDate is : %@",eDate);// 2013-03-28 13:03:41 +0000
     self.eventStore = [[EKEventStore alloc] init];
     EKEvent *myevent = [EKEvent eventWithEventStore:self.eventStore];
     myevent.title = titleFld.text;
     myevent.location  = locFld.text;
     myevent.startDate = sDate;
     myevent.endDate =  eDate;
     [myevent setCalendar:[eventStore defaultCalendarForNewEvents]];
     NSError *err;
     [self.eventStore saveEvent:myevent span:EKSpanThisEvent error:&err];

最佳答案

使用[dateFormat setTimeZone:[NSTimeZone systemTimeZone]];

代替

[dateFormat setTimeZone:[NSTimeZone timeZoneWithName:@"GMT"]];

希望这能解决您的问题。

关于iphone - 在 iPhone 中将事件添加到默认日历时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15541076/

相关文章:

带有垂直字母滚动条的 iPhone View (如联系人/FB 好友 View )

iphone - linkedin Oauth如何记住登录

ios - 每次选择新标签栏项目时如何保存 View Controller 数据?

objective-c - 在 waitforCompletion 为 YES 时立即删除 SKAction(正在播放 MP3)

ios - 以编程方式创建对象并更改该对象的位置

iphone - 更改 UITextFields 集合的属性

ios - Xcode 5 与 iOS 7 : 'Story Board: There are unexpected subviews in the container view.' 中的 NSInternalInconsistencyException

iphone - 在 iphone 中预览圆形图像

ios - 是否有可能在 iOS 代码中获取按钮单击的确切位置(快速)

objective-c - 使用未声明的标识符 '_bridge'