Скрыть NSString в NSDate в другом часовом поясе
-
05-09-2019 - |
Вопрос
Я пытаюсь преобразовать строку в дату в часовом поясе, отдельном от текущего часового пояса системы.Я установил часовой пояс dateformatter в этот часовой пояс.Но NSDate, который я получаю, всегда находится в моем текущем часовом поясе.
Например, мой текущий часовой пояс — PDT.Я установил часовой пояс DateFormatter на CST.У меня есть строка со временем в CST.Но когда я использую средство форматирования даты для преобразования этой строки в дату, я получаю дату в PDT, тогда как мне нужно, чтобы она была в CST.
Может кто-нибудь, пожалуйста, помогите.
Спасибо.
Решение
NSDate
хранит только секунды с 00:00:00 01 января.2001.В описании NSDate будет использоваться ваш текущий часовой пояс (например, если попытаться выполнить отладку с помощью NSLog).
Вы должны получить часовой пояс по умолчанию с помощью
[NSTimeZone defaultTimeZone]
а затем вычислите смещение, используя
-(NSTimeInterval)secondsFromGMT