我正在计算 startTime 和 endTime 之间的持续时间,并使用以下代码来获取两个 NSDates 之间的时间间隔
NSTimeInterval duration = [self.endTime timeIntervalSinceDate:self.startTime];
NSLog(@"interval: %f", duration);
但是,NSLog 语句告诉我持续时间是错误的。日期是从 datePicker 派生的。例如,当我将开始日期设置为 2013 年 6 月 19 日晚上 9:15 并将结束日期设置为 2013 年 6 月 19 日、2013 年 916 点(一分钟后)时,记录的持续时间是 15.00000 而不是 60.00000。
为什么是这样?如何获得两个日期之间的正确持续时间?
编辑
我做了更多的记录并记录了开始日期和结束时间。这是 NSLog 语句
NSLog(@"interval: %f for %@ to %@", duration, self.startTime, self.endTime);
这是记录的内容:
interval: 15.000000 for 2013-06-19 04:52:45 +0000 to 2013-06-19 04:53:00 +0000
由于某种原因,datePicker 的开始日期将秒数设置为 45,即使日期选择器只显示 4:52。我怎样才能解决这个问题?
另外,请注意,如果这很重要,则使用相同的 datePicker 来选择两个日期。