1

「GMT-09:00」として指定された NSString 値として TimeZone があります。

私が望むのは、この形式で NSTimeZone をセットアップすることだけです。私は試しましたが、これを行うことができませんでした。この時間は毎回異なる可能性があるため、メソッドで静的として設定することはできません

例えば。これはできません -- timeZoneForSecondsFromGMT:(-9*3600)。

また、どうにかして上記の形式 (GMT-09:00) を秒数に変換できますか??

編集:タイムゾーンを特定のGMT形式に設定したいだけです。GMT-09:00、GMT+05:30 など、何でもかまいません。

それが静的な値である場合、NSTimeZone に以下のメソッドを使用できたはずです。

[formatter setTimeZone:[NSTimeZone timeZoneForSecondsFromGMT:(-9*3600)]];

しかし、値「GMT-09:00」は NSString です。そのため、毎回、文字列を分割して時間と分の値を取得する必要がありました。もっと簡単な方法はありますか?????

助けてくれてありがとう!

4

2 に答える 2

4

このようなことを試しましたか?

NSString *tzStr = @"GMT-09:00";
NSTimeZone *tz = [[NSTimeZone alloc] initWithName:tzStr];
NSLog(@"Tz: %@", tz);
NSLog(@"Offset: %d", [tz secondsFromGMT]);

// Tz: GMT-0900 (GMT-09:00) offset -32400
// Offset: -32400

も動作し@"GMT+5:30"ます。

// Tz: GMT+0530 (GMT+05:30) offset 19800

そして、ただ使う[formatter setTimeZone:tz];

于 2012-03-05T11:39:48.813 に答える
0

これはあなたに役立ちます。最適化されたヘルプ

float offsetSecond = ([[NSTimeZone systemTimeZone] secondsFromGMT] / 3600.0);
于 2016-01-07T09:34:02.463 に答える