24/7 twenty-four seven

iOS/OS X application programing topics.

タイムゾーンを指定して、時間帯に応じた日時を取得する。

NSDateFormatterにタイムゾーンを指定して取り出します。
例えば以下のようにすると、どこの国で使用しても日本時間になります。

NSDate *now = [NSDate date];
NSDateFormatter *formatter = [[[NSDateFormatter alloc] init] autorelease];
[formatter setTimeZone:[NSTimeZone timeZoneWithAbbreviation:@"JST"]];
[formatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:sszzz"];

テレビ番組表ではこのようにして、常に起動した時間に放送中の日本の番組を表示しています。