Я пишу приложение, которое использует UINotifications, и у меня есть код, функционирующий для уведомлений, но не могу получить правильный часовой пояс ,Я не могу понять, почему мой код для использования локального часового пояса для телефона не работает
NSCalendar *calendar = [NSCalendar autoupdatingCurrentCalendar];
// Get the current date
NSDate *pickerDate = [self.datePicker date];
// Break the date up into components
NSDateComponents *dateComponents = [calendar components:(NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit | NSTimeZoneCalendarUnit)
fromDate:pickerDate];
NSDateComponents *timeComponents = [calendar components:(NSHourCalendarUnit | NSMinuteCalendarUnit | NSSecondCalendarUnit)
fromDate:pickerDate];
Я уверен, что я получаю это правильно в NSDateComponents выше
// Set up the fire time
NSDateComponents *dateComps = [[NSDateComponents alloc] init];
[dateComps setDay:[dateComponents day]];
[dateComps setMonth:[dateComponents month]];
[dateComps setYear:[dateComponents year]];
[dateComps setHour:[timeComponents hour]];
Вот где я уверен, что временная зона должна быть установлена для текущего местоположения телефона
[dateComps setTimeZone:[dateComponents timeZone]];
[dateComps setMinute:[timeComponents minute]];
[dateComps setSecond:[timeComponents second]];
NSDate *itemDate = [calendar dateFromComponents:dateComps];
NSLog(@"%@",[NSString stringWithFormat:@"%@",itemDate]);
Я пытаюсь сбрасывать itemDate в файл журнала, и то, что я получаю, выглядит как GMT
2013-11-07 00:24:14.559 IMOB[796:60b] 2013-11-07 08:23:56 +0000
и, как вы можете видеть в метку времени в начале файла журнала линии показывает, что правильно утром 12:24 пока выход читает 08:23
что неправильно