2016-06-21 14 views
0

Ich versuche, eine Zeit mit einem NSDateComponents ... zu kapseln, aber es gibt mir 1979-05-10 08:30:00 +0000 .... welcher Wert sollte für setTimeZone: eingestellt werden gib mir die Uhr in meiner Ortszeit (GMT + 2), die 1979-05-10 10:30:00 +0000Wie stelle ich die Zeitzone auf NSDateComponents ein

NSDateComponents *comp = [[NSDateComponents alloc] init]; 
[comp setYear:1979]; 
[comp setMonth:5]; 
[comp setDay:10]; 
[comp setHour:10]; 
[comp setMinute:30]; 
[comp setTimeZone:]; 
+0

Haben Sie sich die Dokumentation angesehen? https://developer.apple.com/library/ios/documentation/Cocoa/Reference/Foundation/Classes/NSTimeZone_Class/ –

Antwort

0

Sie können +(NSTimeZone) timeZoneForSecondsFromGMT: verwenden sein sollte. Um Stunden auf Sekunden zu konvertieren, multiplizieren von 3600.

Beispiele:

Für GMT + 2

[NSTimeZone timeZoneForSecondsFromGMT:3600*2] 

Für GMT-2

[NSTimeZone timeZoneForSecondsFromGMT:-3600*2] 

die Zeitzone vor Ort zu erhalten zu Ihrem Gerät:

[NSTimeZone localTimeZone] 
+0

Ich habe null für 'timeZoneForSecondsFromGMT' nicht (3600 * 2), um die richtige Zeit zu erhalten: 1979-05- 10 10:30:00 +0000 Kann bitte erklären warum? .. ist das der richtige Weg ?: 'NSTimeZone * local = [NSTimeZone timeZoneForSecondsFromGMT: 0]; NSDateComponents * comp = [[NSDateComponents alloc] init]; [comp setJahr: 1979]; [comp SatzMonat: 5]; [comp setTag: 10]; [comp setHour: 10]; [comp setMinute: 30]; [comp setTimeZone: lokal]; ' –