2013-03-01 5 views
0

Я пытаюсь назначить дату в календаре, в котором есть время начала и время окончания, все работает нормально, если часовой пояс находится в США, а дата изменения не помогите, и мне нужно это в Венесуэлу, что мне делать, когда я размещаю generica, чтобы служить мне где угодно, независимо от часового пояса?Как использовать nsdateformatter в Венесуэлу

здесь я оставляю код в качестве данных и привожу с собой, когда я делаю формат даты.

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 [email protected]"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]; 

Календарь событий правильно меняет, когда вы меняете часовой пояс, так как я не правильно принял дату, я могу это сделать?

ответ

0

Я использую следующий код, чтобы получить желаемый часовой пояс преобразованный DateTime:

- (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.

Вам необходимо заменить свой часовой пояс на звонок [NSTimeZone timeZoneWithName:@"UTC"], и он должен работать.

0

Просто измените одну строку кода в код ...

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

Это позволит установить формат времени в универсальный, который оленья кожа изменения с региона или день экономии света времени.