Преобразование формата даты GMT в формат на основе локали - PullRequest
0 голосов
/ 06 апреля 2011

Как мы можем преобразовать объект NSDate в формате GMT ​​в формат даты с текущими настройками локали / устройства?

Например, если устройство находится в США и в часовом поясе PDT, тогда я хочу преобразовать время GMT в его эквивалентное время PDT.

Ответы [ 2 ]

1 голос
/ 06 апреля 2011

Строго говоря, вы не можете преобразовать NSDate в другой часовой пояс, потому что NSDate не имеет никакого представления о часовых поясах вообще.Объект NSDate просто представляет одну точку в (абсолютном) времени независимо от часового пояса.

Всякий раз, когда вы хотите отобразить дату пользователю, вы должны создать NSDateFormatter.По умолчанию он автоматически отображает время в часовом поясе пользователя.Вы можете переопределить это с помощью -[NSDateFormatter setTimeZone:].

0 голосов
/ 06 апреля 2011

Просто используйте метод NSDate descriptionWithCalendarFormat:timeZone:locale:, передавая соответствующий часовой пояс. Если вы просто используете метод description, вы получите дату / время в текущем часовом поясе (поэтому, если устройство установлено в режим PDT, время будет в формате PDT).

...