2014-11-17 1 views
-1

Есть ли способ форматировать эту строку, например "2014-08-22T18:30:00Z", на 2 подстроки, например 2014-08-22 и 18:30 ?Как отформатировать «2014-08-22T18: 30: 00Z» на `2014-08-22` и` 18: 30`

+0

Возможный дубликат [Swift: форматирование NSDate с использованием strftime & localtime] (http://stackoverflow.com/questions/24255020/swift-nsdate-formatting-with-strftime-localtime) – david99world

+0

Вы просто хотите разбить строку на 2 строки? – zisoft

+1

Возможный дубликат _thousand подобного сообщения на stackoverflow.com _... (ouch). – holex

ответ

1

Я бы предположил, что вы не хотите рассматривать эти две разные строки. Я бы предположил, что реальный вопрос заключается в том, как преобразовать эту строку даты ISO 8601/RFC 3339 в NSDate. И тогда вы можете создать отдельные строки для даты и времени, если хотите.

Но вы, вероятно, захотите преобразовать их в один объект NSDate, потому что эта исходная строка находится в Zulu (т. Е. GMT/UTC), но вы можете указать конечную дату и время в локальном часовом поясе. Но если вы вернете их в виде отдельных строк, то при настройке часового пояса становится затруднительным исправить дату, когда изменение часового пояса приведет к другому дню года.

Во всяком случае, это как разобрать "2014-08-22T18:30:00Z" строку:

let formatter = NSDateFormatter() 

formatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ssZ" 
formatter.locale = NSLocale(localeIdentifier: "en_US_POSIX") 

let date = formatter.dateFromString("2014-08-22T18:30:00Z") 

Отметим, что locale проблема является тонким, что многие люди выходят и обсуждаются в Technical Q&A QA1480.

+0

Большое спасибо! – STheFox

+1

извините, был случайно. Проверял мои старые сообщения и, должно быть, нажал на него. Я вернул его к принятому ответу – STheFox

Смежные вопросы