Форматер даты отличается вывод на разных устройствах под управлением той же версии iOS - PullRequest
0 голосов
/ 25 октября 2011
NSDate *currentDate =  [NSDate date];
NSDateFormatter *format = [[NSDateFormatter alloc] init];
[format setDateFormat:@"MM/dd/yyyy,h,mm,a"];
NSString *dateString = [format stringFromDate:currentDate];
[format release];

NSLog(dateString);

Выход в: устройство iPhone4
[240: 707] 10/25 / 2011,22,23,
Текущий язык: авто;в настоящее время предупреждение цели-c: невозможно прочитать символы для /SDK4.2/Platforms/iPhoneOS.platform/DeviceSupport/4.3.3 (8J2) /Symbols/Developer/usr/lib/libXcodeDebuggerSupport.dylib

Вывод в: Устройство iPad2
[82: 707] 10/25 / 2011,12,28, PM
Текущий язык: авто;в данный момент предупреждение target-c: невозможно прочитать символы для /SDK4.2/Platforms/iPhoneOS.platform/DeviceSupport/4.3.3 (8J2) /Symbols/Developer/usr/lib/libXcodeDebuggerSupport.dylib
Эта вещь отлично работает наСимулятор для всех.

Как с этим справиться?

Дополнительная информация:
также следует заметить, что одна и та же строка форматирования приводит к 12 часам и 24 часамвозвращаемые значения часов

Ответы [ 2 ]

2 голосов
/ 25 октября 2011

Звучит так, как будто на вашем iPad и iPhone установлена ​​другая локаль , см. Здесь:

http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/DataFormatting/Articles/dfDateFormatting10_4.html#//apple_ref/doc/uid/TP40002369-SW1

Либо установите одинаковый языковой стандарт на обоих устройствах (если это только ваша проблема), либо убедитесь, что NSDateFormatter использует одинаковый (жестко заданный) языковой стандарт, если вы полагаетесь на формат, подобный определенному формату.

Редактировать: Дополнительная информация

Это, очевидно, проблема с языком, более подробно здесь (с решениями): http://developer.apple.com/library/ios/#qa/qa1480/_index.html

Но я ошибся, настройка локали на самом деле не поможет.

Образец цитирования:

On iPhone OS, the user can override the default AM/PM versus 24-hour time setting (via Settings > General > Date & Time > 24-Hour Time), which causes NSDateFormatter to rewrite the format string you set, which can cause your time parsing to fail.

0 голосов
/ 25 октября 2011

наконец решил это.это было связано с настройками в телефоне как часы 24 часа.

Мне пришлось обновить свой код соответственно.

:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...