如何使用nsdateformatter委内瑞拉

我想在日历上安排一个date,这个date有一个开始时间和结束时间,如果时区在美国,一切正常,date变化没有帮助,我需要它到委内瑞拉我做我的地方generica,无论何时何地服务我?

在这里,我把代码留作数据,并且把date格式带给我。

comes the date in the following format: 12/10/2012 05:00 pm EKEvent* event = [EKEvent eventWithEventStore:eventStore]; NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; [dateFormatter setTimeZone:[NSTimeZone localTimeZone]]; [dateFormatter setDateFormat:@"dd/MM/yyyy hh:mm:ss a"]; horafin = [dateFormatter dateFromString:inicio]; horafin = [horafin dateByAddingTimeInterval:3600]; horainicio = [dateFormatter dateFromString:inicio]; [dateFormatter release]; NSString *ti=[[NSString alloc]initWithString:title]; NSLog(@""); event.title =@"juego"; event.startDate = horainicio; event.endDate = horafin; event.URL = [NSURL URLWithString:@"http://pagina.com"]; event.notes = ti; event.allDay = NO; vc.event = event; vc.editViewDelegate = self; [self presentViewController:vc animated:YES completion:nil]; 

事件日历只有在更改时区时才能正确调用我,因为我没有正确loggingdate,所以我可以做到这一点。

我使用以下代码来获得所需的时区转换date时间:

 - (NSString *) getUTCDate : (NSString *) inputDate { NSDateFormatter *utcDateFormatter = [[NSDateFormatter alloc] init]; [utcDateFormatter setDateFormat:@"dd-MMM-yyyy HH:mm:ss Z"]; [utcDateFormatter setTimeZone:[NSTimeZone timeZoneWithName:@"UTC"]]; // [utcDateFormatter setTimeZone :[NSTimeZone timeZoneForSecondsFromGMT: 0]]; // utc format NSDate *dateInUTC = [utcDateFormatter dateFromString: inputDate]; return dateInUTC; } 

其中dateInUTC是GMT时区中的date。

你需要在调用[NSTimeZone timeZoneWithName:@"UTC"]replace你自己的时区,它应该工作。

只需更改代码中的一行代码即可

 [dateFormatter setTimeZone:[NSTimeZone timeZoneWithName:@"UTC"]]; 

这将设置通用的时间格式,不会随着地区或日光节约时间而改变。