У меня есть проблемы с NSDate конверсии NSString, я следующий код в методеNSDate преобразование в NSString не следует NSDateFormatter
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
NSTimeZone *timeZone = [NSTimeZone timeZoneWithName:@"UTC"];
[formatter setTimeZone:timeZone];
[formatter setDateFormat:@"yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'zzz'"];
return [formatter stringFromDate:date];
Если I'm не ошибаюсь, это должно возвращать строку как
"2016-01-15T22:45:40.GMT"
Но результирующая строка зависит от конфигурации устройства, то есть если устройство показывает дату как 24 часа, то я получаю результат выше, с другой стороны, если устройство настроено на отображение дома как AM ВЕЧЕРА. тогда я получаю
"2016-01-15T10:46:50 p.m..GMT"
Вы, вероятно, нужно установить локаль: см [этот вопрос] (HTTP : //stackoverflow.com/q/6613110/3985749). – pbasdf
Выше ответ хороший, потому что вы можете использовать его проще. Но если вы не хотите создавать категорию, вы можете установить языковой стандарт форматирования, как этот formatter.locale = [[NSLocale alloc] initWithLocaleIdentifier: @ "en_US_POSIX"]; – thanyaj
FYI - вам не нужно избегать всех знаков препинания. Ваш формат может быть 'yyyy-MM-dd'T'HH: mm: ss.zzz'. Обратите внимание, что вам нужно избегать 'T'. – rmaddy