で表される時点があると仮定します
NSDate* now = [NSDate date];
例: 2012-11-07 13:44:55 +0000 (デバイスの現地時間)
また、各国の名前と地理座標 (対数、緯度) を持つ国の配列もあります。
例:イングランド、51.5、-0.116667
Q: 上記の日時をどのように計算し、特定の国での現在の時刻に変換しますか?
(ちなみに、私はむしろローカルなものを持っていて、外部APIを呼び出していません)
で表される時点があると仮定します
NSDate* now = [NSDate date];
例: 2012-11-07 13:44:55 +0000 (デバイスの現地時間)
また、各国の名前と地理座標 (対数、緯度) を持つ国の配列もあります。
例:イングランド、51.5、-0.116667
Q: 上記の日時をどのように計算し、特定の国での現在の時刻に変換しますか?
(ちなみに、私はむしろローカルなものを持っていて、外部APIを呼び出していません)
利用可能なタイム ゾーンのリストを取得します。
[NSTimeZone abbreviationDictionary]
これは、この種の何かを返します。
EST = "America/New_York";
GMT = GMT;
GST = "Asia/Dubai";
HKT = "Asia/Hong_Kong";
HST = "Pacific/Honolulu";
ICT = "Asia/Bangkok";
IRST = "Asia/Tehran";
IST = "Asia/Calcutta";
JST = "Asia/Tokyo";
KST = "Asia/Seoul";
MDT = "America/Denver";
MSD = "Europe/Moscow";
MSK = "Europe/Moscow";
ここで、このタイム ゾーンの省略キー (たとえば、モスクワの MSD) を使用して、GMT からモスクワのタイム ゾーンにオフセットされた秒数を取得します。
NSInteger no_of_seconds = [[NSTimeZone timeZoneWithAbbreviation:@"MSD"] secondsFromGMT];
'no_of_seconds' を現在の日付に追加して、目的の場所 (この場合はモスクワ) の日付を取得できるようになりました。
[NSDate dateWithTimeIntervalSinceNow:no_of_seconds]