2011-07-08 9 views
2

"From"と "To"のフィールドにdatepickerがあり、減算の結果が必要です。 例:toValue-fromValue結果は時間単位で表示されます。 どうすればいいですか?NSDateFormatterの減算

答えて

2

timeIntervalSinceDateを用いて計算することができる2つのNSdateオブジェクトの差は:

NSTimeInterval diff = [toDate timeIntervalSinceDate:fromDate]; 

結果は秒単位で与えられます。次に、あなたがこのような時間の計算:あなたは2を持っている場合は

NSInteger hours = diff/3600; 
+1

を使用して、それらを比較することができますオブジェクト - - 倍精度浮動小数点数です。 –

+0

私はEXC_BAD_ACCESSを取得しています。私はdouble diff = ...と試みましたが、どちらもうまくいきませんでした。 – BlackM

+0

@ user776720あなたは 'NSDate'オブジェクトのメモリ管理に問題があると思います。あなたはコードを投稿できますか? – albertamg

1

をNSDateは、あなたがそれをNSTimeIntervalは「ダブル」の別名であることに留意すべきである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