可能重复:
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];
但我不太确定如何使用它。
非常感谢你的帮助!
答案 0 :(得分:0)
假设您正在使用UIDatePicker设置为模式UIDatePickerModeTime
,那么:
NSTimeInterval timeInterval = [dateFromButton1 timeIntervalSinceDate:dateFromButton2];
会以秒为单位给出时差:请参阅NSDate和NSTimeInterval的文档(定义为双精度)。
答案 1 :(得分:0)
我想我得到了你要求的东西。 让date1成为你从button1的第一个日期,date2将是你从button2的第二个日期
double subtractedTimeInterval = [date1 timeIntervalSinceDate:date2];
NSLog(@"The Time Interval Between two dates : %@",[NSString stringWithFormat:"%g"subtractedTimeInterval]);
如果date1早于date2,则返回值为负。