在iPhone中将事件添加到默认日历时获得错误的时间 [英] Get wrong time when adding an event to default calendar in iPhone
问题描述
现在我正在研究iPhone中的日历应用程序.我正在尝试将事件添加到iPhone中的默认日历.在这种情况下,添加事件已成功完成.但是我无法在适当的开始时间添加事件.事件的开始日期是完全正确的,但是时间在iPhone的默认日历中是不同的.我使用了以下代码.请帮助我.
Now i am working on calendar application in iPhone. I am trying to add an event to default calendar in iPhone. In this case adding an event is successfully completed.But I can't add an event in proper start time . Start date of event is exactly correct but time is different in default calendar of iPhone.I used the following code .Please help me..
NSLog(@开始标签为:%@",startLabel.text);//2013-03-28 12:03:41 PM
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"]];
希望这可以解决您的问题.
Hope this will solved your problem.
这篇关于在iPhone中将事件添加到默认日历时获得错误的时间的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!