特定の時間を表すNSDate
があります。その日付の書式はhhmmssです。その時刻の値にNSInterval
の値(秒単位で指定)を追加したいとします。NSTimeIntervalをNSDateにココアで追加します
例:
NSDate = 123000
NSTimeInterval = 3600
Added together = 133000
これを行うための最善の方法は何ですか?
特定の時間を表すNSDate
があります。その日付の書式はhhmmssです。その時刻の値にNSInterval
の値(秒単位で指定)を追加したいとします。NSTimeIntervalをNSDateにココアで追加します
例:
NSDate = 123000
NSTimeInterval = 3600
Added together = 133000
これを行うための最善の方法は何ですか?
Dates and Times Programming Topics for Cocoaマニュアルを見ましたか?
基本的にあなたの時間をNSDateに変換する必要があります。文字列を日付に変換するには、NSDateFormatter
クラスを使用するか、または時、分、秒をすでに知っている場合はNSDateComponents
を使用します。
NSTimeInterval
は単なる倍数(つまり3600.0)です。
次に、NSDateのdateByAddingTimeInterval
メソッドを使用して秒数を追加します。
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.
}
ありがとう、ちょうど私が必要なもの! –
addTimeInterval:iOS 4.0では非推奨です。 dateByAddingTimeIntervalを使用してください: - http://developer.apple.com/library/ios/#documentation/Cocoa/Reference/Foundation/Classes/NSDate_Class/Reference/Reference.html –
@ SeungUnHam確かに。答えはiPhone OS 2.xが最新版だったときに書かれましたが、現在の推奨事項を反映するように更新しました。 –