NSDate Math?Теперь и Таймер огня в будущем - PullRequest
0 голосов
/ 18 сентября 2011

Я ломал голову над этим, ища быстрое решение.

Мне нужно запустить 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), получая [час работы], и мне нужно запустить таймер на 2: 30 вечера (14:30) в этот день.Мне нужна помощь, чтобы преобразовать его обратно и сделать математику, чтобы сказать, сколько времени осталось до срабатывания таймера.Я буду настраивать несколько разных таймеров в зависимости от текущего времени.Пока я смотрю на время в PST, я знаю, что таймеры и установка времени выполняются в GMT.Это еще один поворот ...

Заранее спасибо ...

1 Ответ

1 голос
/ 04 октября 2011

Я решил проблему сам .. Но спасибо за советы ...

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

и так далее ...

...