Я пытаюсь получить NSDate в формате, который может быть принят веб-службами моего мобильного приложения. Приложение в настоящее время выводит в формате 2013-03-26 17:27:55
на устройствах поколения старшего поколения (iPhone 3GS, 4 и iOS Simulator), где 12-часовое время появляется в формате 5:27 PM в строке состояния. Это хорошо, и это тот формат, который мне нужен для сервера.Как заставить объект NSDate следовать определенному формату, когда 24-часовое время выключено, на основе NSLocale?
Проблема возникает при использовании новых устройств (включая iPhone 4S и iPhone 5), где 12-часовое время отображается в строке состояния 5:27 м. В строке состояния. На этих устройствах приложение выводит в формате 2013-03-26 05:27:55 PM
. Вот краткое описание проблемы:
Web service accepts yyyy-mm-dd HH:MM:ss
iPhone 4 and earlier yyyy-mm-dd HH:MM:ss (correct)
iPhone 4s and later yyyy-mm-dd HH:MM:ss AM/PM (incorrect and rejected)
Итак, как я могу получить выводимый дату на 4S и позже, чтобы быть в 24-часовом формате, когда 24-часовое время выключен в Пользователя Общие настройки?
EDIT:
Я использую следующий (NSDate *)getCurrentDate
метод, чтобы попытаться изменить формат объекта NSDate.
NSDate *currentDateAndTime = [[NSDate alloc] init];
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setLocale:[[NSLocale alloc] initWithLocaleIdentifier:@"en_US"]];
[formatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
NSLog(@"AM Symbol: %@", formatter.AMSymbol);
NSLog(@"PM Symbol: %@", formatter.PMSymbol);
NSString *dateString = [formatter stringFromDate:currentDateAndTime];
NSDate *date = [formatter dateFromString:dateString];
NSLog(@"currentDate: %@ currentDateString: %@", date, dateString);
return [formatter dateFromString:[formatter stringFromDate:currentDateAndTime]];
Как вы преобразовывая NSDate в NSString в вашем приложении в настоящее время? – Anupdas
Вы пытались использовать NSDateFormatter? –
Для конкретных форматов вам действительно нужно использовать NSDateFormatter с указанной строкой формата. Для потребления человеком это нахмурилось, предпочитая дефолты. Для машинного потребления это действительно необходимо. – gaige