Tôi có khối mã này để đọc trong đặc tả ngày/giờ theo tiêu chuẩn ISO 8601. Vấn đề là vì lý do nào đó, tháng này không hoạt động. Mỗi lần tôi chuyển đổi nó là "01". Tôi đang làm gì sai?NSDateFormatter có vẻ sai tháng
NSDateFormatter *UTCDateFormat = [[NSDateFormatter alloc] init];
[UTCDateFormat setDateFormat:@"yyyy-MM-DD'T'HH:mm:ss'Z'"];
[UTCDateFormat setTimeZone:[NSTimeZone timeZoneWithName:@"UTC"]];
[UTCDateFormat setCalendar:[[[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar] autorelease]];
[UTCDateFormat setLocale:[[[NSLocale alloc] initWithLocaleIdentifier:@"en_US"] autorelease]];
NSLog(@"%@", [UTCDateFormat dateFromString:dateString]);
Vì vậy, ví dụ, nếu dateString là:
@"2002-03-12T21:13:27Z"
đầu ra của tôi sẽ là:
2002-01-12 21:13:27 +0000
Những điều tôi đã cố gắng:
- Changed MM để LL
- Đã thử mà không cần setCalendar/setLocale
- đã thử với 'xung quanh -
- chuyển vị trí của MM xung quanh các địa điểm khác. Nó không bao giờ thay đổi bất cứ điều gì.
- Nhìn toàn bộ SO và dường như hoạt động với mọi người khác.
Điều này có thể không thay đổi bất kỳ điều gì, nhưng tôi nghĩ định dạng định dạng 'DD' phải là' dd'. – dasblinkenlight