dateFromString работает по-разному в iOS 4.3.4? - PullRequest
0 голосов
/ 22 июля 2011

Есть ли какие-либо изменения, касающиеся NSDateFormatter в iOS 4.3.4?Потому что вчера я обновил свой iTouch OS до 4.3.4 и обнаружил, что часть моего кода, связанного с NSDateFormatter, перестала работать.

NSDateFormatter *outputFormatter = [[NSDateFormatter alloc] init];

[outputFormatter setDateFormat:@"h:mm a"];

NSDate *date_ = [outputFormatter dateFromString:@"08:00 AM"];
NSLog(@"Date:%@",date_);

[outputFormatter release];

ВЫХОД

iOS 4.3.1: 1970-01-01 02:30:00 + 0000

iOS 4.3.4: ноль.

Любые идеи ????

1 Ответ

0 голосов
/ 30 сентября 2011

Прежде всего, ваш код НЕ работает в iOS 4.3.1 ... Если вы посмотрите на дату, вы должны заметить, что это январь 1970 года или обычный "ноль года" в компьютерное программирование.

Я думаю, что вы должны были поставить "ЧЧ: мм" вместо "ч: мм а". Удвоенный h не означает две цифры, это всего лишь соглашение, составленное ISO. А что касается параметра «AM-PM», я думаю, что он исходит из локали.

Посмотрите документацию NSDate для setLocale . Ваш параметр должен быть @ "en-US" Я думаю.

Надеюсь, это помогло вам.

Привет.

...