Вывод, который вы видите, совершенно нормален. Если вы NSLog NSDate
объект напрямую, вы получите то, что возвращает метод description
, который является представлением даты по Гринвичу (но это не вырезано в камне).
NSDate
объекты не подчиняются часовым поясам. A NSDate
представляет собой абсолютный момент времени, измеренный с контрольной даты. Например, на момент написания текущей даты было что-то вроде 337035053.199801
(секунд с контрольной даты), которое может быть представлено как 2011-09-06 20:50:53 GMT
или 2011-09-06 22:50:53 CEST
. И то, и другое - это различимые для человека представления одной и той же даты.
В заключение, что вам нужно, чтобы получить правильный часовой пояс? Вам нужно использовать NSDateFormatter
, чтобы получить строковое представление вашего NSDate
в любом часовом поясе, который вам нравится.