У меня есть 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 в поле часа в средстве выбора даты, оно будет отображаться как 3. Что-то странное происходит с часовыми поясами где-то, но я не уверен, где ...