2013-11-01 22 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'類和它的對象不知道時區。 –