У меня в файле NSDatePicker. В коде, я установил, что это часовой пояс, чтобы быть часовым поясом GMT календаря:
[datePicker setTimeZone:[calendar timeZone]];
Меня действительно волнует только время (часы, минуты) на сборнике данных, которые я заполняю программно:
NSDate *anyDate = [NSDate date];
NSDateComponents *components = [calendar components:(NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit) fromDate:anyDate];
[components setHour:hours];
[components setMinute:minutes];
NSDate *newDate = [calendar dateFromComponents:components];
[datePicker setDateValue:newDate];
Это правильно имеет желаемый эффект установки времени сборщиков даты на время, которое я хочу. Таким образом, если часы - 8, а минуты - 30, то дата будет 8:30. Однако, если я напечатаю 8 в поле hour picker, оно будет отображаться как 3. Где-то происходит что-то странное с часовыми поясами, но я не знаю, где....