Я работаю над приложением, в котором пользователь установил время для выполнения задачи, и до 10 или 15 минут приложение запускает будильник. Как и напоминание, вы можете сказать.Как вычитать время из NSDate с помощью NSDateFormatter?
После многого поиска на stackOverFlow и других различных ссылках моя проблема все еще существует. Вот что я делаю:
-(void)timeWasSelected:(NSDate *)selectedTime element:(id)element {
if((UITextField *)element == self.timeForTask){
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"hh:mm a"];
self.textField.text = [dateFormatter stringFromDate:selectedTime];
[defaults setObject:self.textField.text forKey:@"taskTime"];
myTime = [selectedTime dateByAddingTimeInterval:-600];
NSLog(@"New Time %@",myTime);
}
После выполнения этого NSLog часть дает этот вывод: New Time 2015-04-27 06:14:14 +0000
Проблема заключается в том, что я выбрал раз, 11:22AM
и это хранящий 06:14
и я только вычитается 10min
с выбранного времени.
Это время в GMT. Вы получаете подходящее время. –
«Я только вычитал 10 секунд из выбранного времени». Я думаю, что вы вычитаете -600 секунд, что составляет 10 минут. –
в симуляторе время всегда отображается на 5 часов 30 минут меньше, но когда вы проверяете его с помощью точки останова, оно отображает правильное время, которое вы выбрали для правильного времени, которое вы должны установить для часового пояса. –