Установка NSDateComponents приводит к неправильному NSDate
Я пытаюсь получить объект NSDate с 21:00 по местному времени - не важно, какой день. Я ломаю голову от этого очень странного результата:
NSCalendar *calendar = [[NSCalendar alloc]initWithCalendarIdentifier:NSGregorianCalendar];
NSDateComponents *components = [[NSDateComponents alloc] init];
[components setHour:21];
[components setMinute:0];
[components setSecond:0];
NSDate *date = [calendar dateFromComponents:components];
NSLog(@"%@", date);
Результат0001-01-02 04:52:58 +0000
Понятия не имею почему. Текущее время - 17:34 PST, но результат не меняется с местным временем.
Если я настроить строки setMinute и setSecond в
[components setMinute:7];
[components setSecond:2];
я получил0001-01-02 05:00:00 +0000
, что правильно (21:00 по тихоокеанскому времени).