2013-11-01 24 views
2

这个问题真的让我疯狂!它似乎应该是如此简单..添加两次存储为NSdates

我有两个NSDates ...他们代表一个活动的总持续时间。我有很多活动,我需要循环完成这些活动,并将所有花费在一起的时间全部花在所有活动上。花在每个活动上的时间被存储为一个NSDate。

如何将这些持续时间加在一起得到总小时数?!

活性1 - 持续时间为6:20 活性2 - 持续时间为2:20

我如何使用两个NSDates返回我的NSDate或多个具有正确的总的所花时间进行计算这将8点40分?

回答

5

您不应该使用NSDate那个,NSDate代表一个时刻,而不是一个持续时间。

使用NSTimeInterval是什么,以及简单地添加他们togheter

例如,380秒:

NSTimeInterval interval = 380; 

或者为6:20:

NSTimeInterval interval = 6*60 + 20; 

或者更容易,使用整数

+0

他没有NSDates,他只是因为错误而宣布他们为nsdates。为什么他应该使用NSTimeInterval以及如何? –

+1

它来自它的非常deffinition,nstimeinterval代表一个时间间隔,nsdate代表日期 –

+0

为什么-1 ????? –

-1

您想计算持续时间。持续时间与时区无关,因此您不需要NSDate。 最简单的方法是计算所有持续时间的总和(以秒为单位),然后将其转换为小时和分钟。

+0

'NSDate'对象* *完全独立于时区。 –

+0

@NikolaiRuhe yes对象_are_和持续时间_is_。 –

+0

我在质疑你为什么OP不应该使用'NSDate'的原因。我试图指出'NSDate'类和它的对象不知道时区。 –