Мой iPhone 4 с iOS5 и iPhone5 с iOS6 имеют настройку часового пояса, как Нью-Йорк, я хотел бы разобрать строку даты, как «15 марта, 07:25 вечера EDT», а затем переформатировать и отображения только время например, «19:25 PM», на iOS5 он всегда меняется на EST, а затем отсутствует час, когда дневной свет находится в эффекте.NSDateFormater странно behaivor
Следующий код будет демонтировать эту проблему.
NSDateFormatter* formater= [[NSDateFormatter alloc] init];
[formater setDateFormat:@"MMM d, hh:mma z"];
NSDate * date = [NSDate date];
NSString * strDate = [formater stringFromDate:date];
NSLog(@"%@", strDate);
// Output "Mar 15, 07:25PM EDT" on iPhone5(iOS6) and iPhone4 (iOS5)
date = [formater dateFromString:strDate];
strDate = [formater stringFromDate:date];
NSLog(@"%@", strDate);
// Output Mar 15, 07:25PM EST on iPhone5(iOS6)
// Output Mar 15, 06:25PM EST on iPhone4 (iOS5)
Я также попытался установить часовой пояс явно с помощью «EDT», не помогает.