2015-11-06 4 views
0

Я получаю дату как "/Data(xxx....xxx-xxxx)" из api. Как я могу получить nsdate в этом формате. Временно я решил эту проблему обрезать строку и получить секунды. но мне нужно правильное решение этой проблемы. любезно помогите мнеconvert json utc "/ Date (1420095600000-0700) /" date to nsdate

+0

Вы используете только эту строку в правильные компоненты. Как вы уже это сделали, вы получаете секунды и создаете дату из этого. Тогда '-7000' - это часовой пояс, вы можете установить правильный часовой пояс, если это необходимо. – rckoenes

+0

-0700 ist not utc и нет часового пояса -7000 :-) –

+0

@HermannKlecker Stupid typo, '-7000' должно быть' -0700' – rckoenes

ответ

1

Используйте NSDateFormater для преобразования этой строки (части в скобках) в NSDate и наоборот. См. Документы здесь: https://developer.apple.com/library/mac/documentation/Cocoa/Reference/Foundation/Classes/NSDateFormatter_Class/#//apple_ref/occ/instp/NSDateFormatter/dateFormat и здесь о различных возможностях формирования: https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/DataFormatting/DataFormatting.html#//apple_ref/doc/uid/10000029i

Ну, вам, возможно, придется избавиться от миллисекунд.

+0

спасибо, что ответили мне, я получаю время сервера как utc. он может быть изменен. поэтому мне нужно решение для этой проблемы. –

+0

Извлеките время, избавитесь от миллисекунд и используйте NSDateFormatter с такой строкой формата, как ssssssssssszzzzz, и оттуда. Форматировщик будет иметь дело с часовым поясом соответственно –

+0

ya, я получил дату также в этом формате. если часовой пояс изменен. Мне нужно написать код для этого. но он не является динамическим. эта проблема может иметь другое решение. –