Ios 最新的数学?现在和未来的点火计时器

Ios 最新的数学?现在和未来的点火计时器,ios,nsdate,nstimer,nsdatecomponent,Ios,Nsdate,Nstimer,Nsdatecomponent,我一直在绞尽脑汁寻找一个快速的解决办法 我需要根据特定时区的当前时间在特定时间启动NSTime 例如,我以PST获取当前时间: NSDate *now = [NSDate date]; NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; dateFormatter.dateFormat = @"HH:mm:ss"; NSCalendar * cal = [[NSCalendar alloc] initWithCal

我一直在绞尽脑汁寻找一个快速的解决办法

我需要根据特定时区的当前时间在特定时间启动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中完成的。这是另一个转折


提前谢谢…

我自己解决了这个问题。。但是谢谢你的提示

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

诸如此类……

您是否希望总是在14:30启动计时器,或者您总是希望在30分钟后启动?如果当前PST时间在14:30之前,请在14:30启动。问题源于我转到第二天GMT,因为我在PST上,所以您已经尝试将组件设置为14:30并设置NSTimer,但这不起作用?你能把这个代码也放上去吗?如果你想在未来27分钟内启动计时器,那么在所有时区都是27分钟。只需计算时间增量,并设置一个计时器,从“现在”开始在适当的时间间隔触发。