1

我正在尝试制作一个时间戳应用程序,您可以在其中通过一个按钮捕获时间。

当按下按钮时,它会打印出当前时间00:00:00。当第二次按下按钮时,它会再次打印出当前时间(即00:00:15)。

然后我希望它计算两个时间戳之间的时间差(10 秒)。

我是objective-c的新手,我已经坐了几个小时这个小问题。有一个指向正确方向的指针会很好。

我在使用timeIntervalSinceDate. 这是代码:

- (IBAction)checkButton:(id)sender {


if (buttonPress) {

    self.checkInStamp = [NSDate date];

    NSDateFormatter *timeFormatter = [[NSDateFormatter alloc] init];
    [timeFormatter setTimeStyle:NSDateFormatterMediumStyle];

    checkInTime.text = [timeFormatter stringFromDate:checkInStamp];
    buttonPress = false;
}
    else {

        self.checkOutStamp = [NSDate date];

        NSDateFormatter *timeFormatter = [[NSDateFormatter alloc] init];
        [timeFormatter setTimeStyle:NSDateFormatterMediumStyle];

        checkOutTime.text = [timeFormatter stringFromDate:checkOutStamp];

        NSTimeInterval timeDifference = [checkOutStamp timeIntervalSinceDate:checkInStamp];

        totalDuration.text = @"%d", timeDifference; //<-This gives "Expression result unused on build"
    }
}

感谢您的任何帮助!

4

1 回答 1

0

使用方法 ( referenceNSDate )获得两个对象之间的差异,并表示为 a (a 'd ):[NSDate timeIntervalSinceDate:]NSTimeIntervaltypedefdouble

NSTimeInterval difference = [self.checkOutStamp timeIntervalSinceDate:self.checkInStamp];
NSLog(@"Difference is %f seconds", difference);
于 2013-02-14T15:04:53.863 回答