В Swift, с верхней части моей головы:
func convertDateFormat(original: String) -> String {
let dateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:SSSSSSZZZZZ"
dateFormatter.locale = NSLocale(localeIdentifier; "en_us_POSIX")
let date = dateFormatter.dateFromString(yourString)
dateFormatter.dateFormat = "yyyy/MM/dd HH:mm:ss"
return dateFormatter.stringFromDate(date)
}
Альтернатива, которая просто использует любой формат, пользователь, как правило, отображать даты в, предположим, что вы используете окончательную строку для отображения и не для ввода машины будет вырезать две последние строки и вместо этого сделать:
let outputFormatter = NSDateFormatter()
outputFormatter.dateStyle = NSDateFormatterStyle.ShortStyle;
outputFormatter.timeStyle = NSDateFormatterStyle.ShortStyle;
return outputFormatter.stringFromDate(date);
это будет двенадцать или двадцать четыре часа, он будет делать дни и месяцы естественный путь вокруг этого пользователя, его напечатать в Арабский или будет подчиняться китайскому календарю, а не по-григориански и т. Д.
NSDateFormatter
оставляет за собой право вносить некоторые корректировки в строку формата в соответствии с настройками отображения пользователей, если вы явно не установили локаль как en_us_POSIX
. Также обратите внимание, что вы указываете время по Гринвичу, и устройство пользователя не обязательно будет установлено в GMT. Таким образом, строка вывода может отображать локальное время, как это было, когда это было именно время GMT. Если ваш сервер некорректен относительно этого окончательного z
, то переопределите его, установив timezone
в GMT на ваш выходной форматтер.
На Android эта строка является результатом GetTime? – Santiago
nope. Я получаю эту строку с сервера в поле JSON. –