我有一个NSDate
代表特定时间的。该日期的格式是 hhmmss。我想NSInterval
为该时间值添加一个值(以秒为单位)。
例子:
NSDate = 123000
NSTimeInterval = 3600
Added together = 133000
做这个的最好方式是什么?
你看过Cocoa 的 Dates and Times Programming Topics手册吗?
基本上你需要将你的时间转换成一个 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.
}