2013-03-01 30 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

,從而獲得所需時區轉換日期時間:

- (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"]]; 

這將設置時間格式通用這亙古不變的與區域或日光節約時間的變化。