私は迅速な解決策を探して、これに頭を悩ませてきました。
特定のタイムゾーンの現在の時刻に基づいて、特定の時刻に NSTime を起動する必要があります。
たとえば、PST で現在の時刻を取得します。
NSDate *now = [NSDate date];
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
dateFormatter.dateFormat = @"HH:mm:ss";
NSCalendar * cal = [[NSCalendar alloc] initWithCalendarIdentifier: NSGregorianCalendar];
[cal setTimeZone:[NSTimeZone timeZoneWithAbbreviation:@"PST"]];
NSDateComponents * comps = [cal components:NSHourCalendarUnit fromDate:now];
時刻は 2 (14) で [comps hour] であることがわかりました。その日の午後 2 時 30 分 (14 時 30 分) にタイマーを起動する必要があります。それを元に戻して、タイマーが起動するまでの時間を計算するのに助けが必要です。現在の時刻に基づいて、いくつかの異なるタイマーを設定します。PST で時刻を見ていると、タイマーと時刻の設定が GMT で行われていることがわかります。それは別のひねりです...
前もって感謝します...