0

私は迅速な解決策を探して、これに頭を悩ませてきました。

特定のタイムゾーンの現在の時刻に基づいて、特定の時刻に 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 で行われていることがわかります。それは別のひねりです...

前もって感謝します...

4

1 に答える 1

1

私は自分で問題を解決しました..しかし、ヒントをありがとう...

if ([date earlierDate:newDate] == date) // it is before 7AM... fire at 7AM

等々....

于 2011-10-04T04:10:40.357 に答える