Я не до конца понимаю, почему это так, но это происходит, когда вы используете dateFromComponents:
для создания дат давным-давно. В частности, отсечение, по-видимому, 1 декабря 1847 года. Все, что раньше 12:00 в этот день, похоже, в конечном итоге было 1
минута 15 секунд.
В вашем случае это происходит потому, что если вы установите только components.hour
и components.minute
, вы получите дату с 1 января, 1AD.
Если вы установите год, месяц и дату для чего-то более нового, например:
components.year = 2012;
components.month = 2;
components.day = 6;
Тогда вы получите правильный вывод (что я получил в симуляторе iOS):
2012-02-06 09:00:00 +0000