NSDate
特定の時間を表すを持っています。その日付の形式はhhmmssです。NSInterval
その時間の値に(秒単位で指定された)値を追加したいと思います。
例:
NSDate = 123000
NSTimeInterval = 3600
Added together = 133000
これを行うための最良の方法は何ですか?
Cocoaマニュアルの日付と時刻のプログラミングトピックを見たことがありますか?
基本的に、時間をNSDateに変換する必要があります。文字列を日付に変換するには、NSDateFormatter
クラスを使用するNSDateComponents
か、時間、分、秒をすでに知っている場合は使用します。
あなたNSTimeInterval
はただのダブル(つまり、3600.0)です。
次にdateByAddingTimeInterval
、NSDateのメソッドを使用して、時間に秒数を追加します。
NSDate* newDate = [oldDate dateByAddingTimeInterval:3600.0];
NSDateFormatter
その後、またはを使用NSDateComponents
して、新しい時間を再び元に戻すことができます。
addTimeIntervalは非推奨になりました。代わりにdateByAddingTimeIntervalを使用してみてください。
// This will set the time when your view appears it will also
// set the time if you want to retrieve from it.
-(void)viewDidAppear:(BOOL)animated
{
//Create todays date
NSDate *duedate = [NSDate date];
//Add how ever many days you could write 86400*numbe_of_days days 86400/24 for an hour
//Then simply reassign the variable or use a different one.
duedate = [duedate dateByAddingTimeInterval:86400]; //I add one day
[datePicker setDate:duedate animated:YES]; //Animate yes will show your pickers moving
[datePicker setMinimumDate:duedate]; //Set minimum date.
}