2010-09-08 168 views
1

我一直想知道如何显示未来某个日期的剩余时间。Iphone SDK:如何从当前时间倒数到未来的特定日期

这就是我到目前为止。我可以得到当前时间,并显示出来,并且我使用了午夜教程的分钟数来找出如何找出午夜的时间。但我很想知道我将来如何选择一天,并找出剩下多少时间。

代码:

NSDate* now = [NSDate date]; 
NSCalendar *gregorian = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar]; 

    NSDateComponents *dateComponents = [gregorian components:(NSHourCalendarUnit | NSMinuteCalendarUnit | NSSecondCalendarUnit) fromDate:now]; 

    NSInteger hour = 23 - [dateComponents hour]; 
    NSInteger minute = 59 - [dateComponents minute]; 
    NSInteger second = 59 - [dateComponents second]; 
    [gregorian release]; 
    countdownLabel.text = [NSString stringWithFormat:@"%02d:%02d:%02d", hour, minute, second]; 

的任何可能性,有人可以看看这个,改变它一点?如果我能够通过使用这些代码来理解它,这对我来说是最容易的,但如果这不可能或不正确,我宁愿知道正确的方法来做到这一点。

谢谢。

回答

2

尝试其中之一,这将是第二两个日期之间数上双:

NSTimeInterval timeBetweenThenAndNow = [futureDate timeIntervalSinceNow]; 
NSTimeInterval timeBetweenThenAndMidnight = [futureDate timeIntervalSinceDate: myMidnightDate]; 
+0

对不起,误会,但你能更具体在何处,我应该尝试这些? – 2010-09-08 21:59:34

+0

您应该使用这些来获取一个日期与另一个日期之间或现在与另一个日期之间的时间长度。 NSDateFormatter将帮助打印结果,这是NSTimeInterval - 之间的秒数。看看课堂参考资料,并告诉我更多关于如果你仍然陷入困境,你想要做什么。 – 2010-09-08 22:59:20

+0

好吧,嗯仍然有点卡住了,但我想我知道需要发生什么,我只是想把它放在一起。我需要定义两个单独的日期。其中一个是我现在可以使用的时间? - NSDate *现在= [NSDate日期]; - 然后我需要在将来设置日期2010年9月15日(可能看起来像这样? - NSDateFormatter * dateformatter = [[NSDateFormatter alloc] init]; [dateformatter setDateFormat:@“MM/dd/yyyy hh:mm:ss“]; NSString * future = [[NSString alloc] initWithString:@”09/15/2010 12:00:00 am“]; - )我想一个例子会有所帮助。 – 2010-09-09 19:27:53

相关问题