如何获得两次之间的小时数?

时间:2010-11-22 17:52:50

标签: iphone

  

可能重复:
  Operation between hours.

我有2个按钮,如果按下每个按钮,将会出现时间选择器并返回按钮中选择的时间。我该如何减去两次? 我尝试用例子来解释它: 我按下按钮一,我有时间选择器出来,我选择让我们说下午6点。下午6:00将返回我的button1。 我用按钮2做同样的事情。我选择一个时间让我们说晚上8点。晚上8点将返回我的button2。 我想知道如何减去它们以找出button1和button2之间有多少小时。在这种情况下将是2小时。

这是一段代码,我按下完成按钮返回按钮中选择的时间。

- (IBAction)doneButtonPressed2:(id)sender
{
    if ([self.delegate respondsToSelector:@selector(datePickerViewController2:didChooseDate:)]) {
        NSDateFormatter *dateFormatter = [[[NSDateFormatter alloc] init] autorelease];
        [dateFormatter setTimeStyle:NSDateFormatterShortStyle];

        NSString *dateString = [dateFormatter stringFromDate:[datePicker date]];

        [self.delegate datePickerViewController2:self didChooseDate:dateString];
        [self dismissModalViewControllerAnimated:YES];      
    }

我相信我必须用它来拥有我想要的东西:

//NSTimeInterval secondsBetween = [firstTime timeIntervalSinceDate:secondTime];

但我不太确定如何使用它。

非常感谢你的帮助!

2 个答案:

答案 0 :(得分:0)

假设您正在使用UIDatePicker设置为模式UIDatePickerModeTime,那么:

NSTimeInterval timeInterval = [dateFromButton1 timeIntervalSinceDate:dateFromButton2];

会以秒为单位给出时差:请参阅NSDateNSTimeInterval的文档(定义为双精度)。

答案 1 :(得分:0)

我想我得到了你要求的东西。 让date1成为你从button1的第一个日期,date2将是你从button2的第二个日期

double subtractedTimeInterval = [date1 timeIntervalSinceDate:date2];
NSLog(@"The Time Interval Between two dates  : %@",[NSString stringWithFormat:"%g"subtractedTimeInterval]);

如果date1早于date2,则返回值为负。