2016-06-21 3 views
0

私はNSDateComponentsを使って時間をカプセル化しようとしています。しかし、それは私に1979-05-10 08:30:00 +0000を与えます.... setTimeZone:私にあなたが+(NSTimeZone) timeZoneForSecondsFromGMT:を使用することができます1979年5月10日午前10時30分00秒0000NSDateComponentsでタイムゾーンを設定するには

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

ドキュメントを見ましたか? https://developer.apple.com/library/ios/documentation/Cocoa/Reference/Foundation/Classes/NSTimeZone_Class/ –

答えて

0

する必要があります私の現地時間(GMT + 2)でHouresを与えます。タイムゾーンはローカル取得するにはGMT-2についてはGMT + 2

[NSTimeZone timeZoneForSecondsFromGMT:3600*2] 

については

[NSTimeZone timeZoneForSecondsFromGMT:-3600*2] 

: は3600

例を掛け、秒に時間を変換するにはあなたのデバイスに:

[NSTimeZone localTimeZone] 
+0

正しい時刻を取得するために、 'timeZoneForSecondsFromGMT'には0を入れません(3600 * 2):1979-05- 10 10:30:00 +0000 これを行う正しい方法はなぜですか?説明することができます: 'NSTimeZone * local = [NSTimeZone timeZoneForSecondsFromGMT:0]; NSDateComponents * comp = [[NSDateComponents alloc] init]; [comp setYear:1979]; [comp setMonth:5]; [comp setDay:10]; [comp setHour:10]; [comp setMinute:30]; [comp setTimeZone:local]; ' –

関連する問題