私は知られているタイムゾーンのリストを取得する方法を知っています:[NSTimeZone knownTimeZoneNames]
。knownTimeZoneNamesから各タイムゾーンのGMT値を取得する方法
しかし、このメソッドはタイムゾーン名(Africa/Abidjanなど)のみを返します。
そのアレイの既知のタイムゾーンごとにGMT値(GMT+3
またはGMT-7
など)を取得するにはどうすればよいですか?一般的に
私は知られているタイムゾーンのリストを取得する方法を知っています:[NSTimeZone knownTimeZoneNames]
。knownTimeZoneNamesから各タイムゾーンのGMT値を取得する方法
しかし、このメソッドはタイムゾーン名(Africa/Abidjanなど)のみを返します。
そのアレイの既知のタイムゾーンごとにGMT値(GMT+3
またはGMT-7
など)を取得するにはどうすればよいですか?一般的に
、各タイムゾーン名のNSTimeZone
インスタンスを作成し、各インスタンスからsecondsFromGMT
プロパティを取得:
for (NSString *name in [NSTimeZone knownTimeZoneNames]) {
NSTimeZone *tz = [NSTimeZone timeZoneWithName:name];
NSInteger gmtOffset = tz.secondsFromGMT;
}
だけ優れた問題は、時間または時間/分、秒から変換されるであろうあまりにも難しいはずがありません。おそらくデフォルトの[NSTimeZone description]
が正しい情報を返しますか?
また、出力が@"GMT+03:00"
なります
NSTimeZone *timeZone = [NSTimeZone timeZoneForSecondsFromGMT:secondsFromGMT];
NSMutableString *name = [NSMutableString stringWithString:timeZone.name];
if (! [name isEqualToString:@"GMT"])
{
[name insertString:@":" atIndex:6];
}
return [NSString stringWithString:name];
方法timeZoneForSecondsFromGMT
を使用することができます。数時間から数分で構築する必要はありません。
ありがとうございます。私は実際にリンゴの文書を今読んで同じ方法を見つけました))) –
結果が常に同じではないことを覚えておいてください。 :) –