добавьте NSTimeInterval к NSDate в cocoa
Вопрос
У меня есть 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.
}