Question

I have been racking my brains on this one looking for a quick solution.

I need to fire off a NSTime at a specific time based on the current time in a specific time zone.

For example, I get the current time in 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];   

I see that the time is 2 (14) getting [comps hour] and I need to fire a timer at 2:30PM (14:30) on that day. I need help converting it back and doing the math to say how long it is before the timer fires. I will be setting up several different timers based on the current time. While I am looking at the time in PST I know that the timers and setting of the time is done in GMT. That's another twist...

Thanks in advance...

Was it helpful?

Solution

I solved the problem myself.. But thanks for the tips...

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

and so on....

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top