Скрытое NSString в NSDate в другом часовом поясе - PullRequest
2 голосов
/ 26 мая 2009

Я пытаюсь преобразовать строку в дату в отдельном часовом поясе от текущего системного часового пояса. Я установил часовой пояс даты форматирования в этот часовой пояс. Но NSDate, который я получаю, всегда находится в моем текущем часовом поясе.

Например, мой текущий часовой пояс - PDT. Я установил часовой пояс DateFormatter в CST. У меня есть строка со временем в CST. Но когда я использую средство форматирования даты для преобразования этой строки в дату, я получаю дату в PDT, а я хочу ее в CST.

Может кто-нибудь, пожалуйста, помогите.

Спасибо.

1 Ответ

1 голос
/ 26 мая 2009

NSDate хранит только секунды с 00:00:00 01 января 2001 года. Описание NSDate будет использовать ваш текущий часовой пояс (если попытаться отладить, например, NSLog).

Вы должны получить часовой пояс по умолчанию с

[NSTimeZone defaultTimeZone] 

, а затем рассчитайте смещение с помощью

-(NSTimeInterval)secondsFromGMT
...