2012-11-27 37 views
5

Đây là mã:IOS 6 và NSDateFormatter

NSString * str = @"2012-11-23Fri09:00:00+0100"; 

NSDateFormatter *formatter = [[NSDateFormatter alloc] init]; 
NSLocale *locale= [[NSLocale alloc] initWithLocaleIdentifier:@"en_US"]; 
[formatter setLocale:locale]; 

[formatter setDateFormat:@"yyyy-MM-ddEEEHH:mm:ssZ"]; 

NSDate *result = [formatter dateFromString:str]; 
NSLog(@"str :%@ -- NSDate :%@", str, result); 

và đây là kết quả:

str :2012-11-23Fri09:00:00+0100 -- NSDate :1999-12-31 08:00:00 +0000 

Tại sao NSDate là sai?

+0

tôi đã cố gắng mã của bạn trên iPhone 5.0 giả lập và hoạt động tốt, trên Trình mô phỏng iPhone 6.0 không thành công. Nó có thể là một lỗi, bạn phải gửi mã của bạn trong diễn đàn nhà phát triển Apple –

+0

Điều này chắc chắn là một lỗi với iOS 6. Nếu chúng tôi loại bỏ "Fri" và "EEE" từ đó, nó hoạt động tốt. Một số lỗi khi tên ngày đến vào giữa ngày. – iDev

Trả lời