2011-07-08 35 views
2

我有一個字段「從」和「到」的日期選擇器,我想減法的結果。例如: :toValue-fromValue,結果將以小時爲單位。 如何做到這一點?NSDateFormatter減法

回答

2

可使用timeIntervalSinceDate被計算出的兩個NSdate對象的區別:

NSTimeInterval diff = [toDate timeIntervalSinceDate:fromDate]; 

結果以秒爲單位。然後,計算的時間是這樣的:

NSInteger hours = diff/3600; 
+1

比較它們應當注意的是NSTimeInterval是一個別名爲「雙」 - - 雙精度浮點數。 –

+0

我得到EXC_BAD_ACCESS。我嘗試了雙重差異= ...但它也不工作。 – BlackM

+0

@ user776720我認爲你的NSDate對象有內存管理問題。你能發佈代碼嗎? – albertamg

1

如果你有兩個NSDate的對象,您可以使用timeIntervalSinceDate方法

NSDate* fromDate = //Get from date picker 
NSDate* toDate = //Get from date picker 
NSTimeInterval = [fromDate timeIntervalSinceDate:toDate]; 
NSInteger hours = timeInterval/60*60; //60 seconds per minute, 60 minutes per hour