将NSTimeInterval添加到cocoa中的NSDate
我有一个表示特定时间的将NSTimeInterval添加到cocoa中的NSDate,cocoa,time,sum,nsdate,Cocoa,Time,Sum,Nsdate,我有一个表示特定时间的NSDate。该日期的格式为hhmmss。我想向该时间值添加一个NSInterval值(以秒为单位) 例如: NSDate = 123000 NSTimeInterval = 3600 Added together = 133000 最好的方法是什么?您看过手册了吗 基本上,您需要将时间转换为日期。要将字符串转换为日期,可以使用NSDateFormatter类,或者如果您已经知道小时、分钟和秒,可以使用NSDateComponents 您的NSTimeI
NSDate
。该日期的格式为hhmmss。我想向该时间值添加一个NSInterval
值(以秒为单位)
例如:
NSDate = 123000
NSTimeInterval = 3600
Added together = 133000
最好的方法是什么?您看过手册了吗
基本上,您需要将时间转换为日期。要将字符串转换为日期,可以使用NSDateFormatter
类,或者如果您已经知道小时、分钟和秒,可以使用NSDateComponents
您的NSTimeInterval
只是一个双精度值(即3600.0)
然后使用NSDate的dateByAddingTimeInterval
方法将秒数添加到时间中
NSDate* newDate = [oldDate dateByAddingTimeInterval:3600.0];
然后,您可以使用
NSDateFormatter
或NSDateComponents
重新获取新时间。addTimeInterval现在已不推荐使用。尝试改用。addTimeInterval:在iOS 4.0中已弃用。使用dateByAddingTimeInterval:-@SeungUnHam。答案是在iPhoneOS2.x最新的时候写的(!),但我已经更新了它以反映当前的建议。
// 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.
}