NSDateFormatter: How to read dates in March
The NSDateFormatter can be used to construct NSDate instances from date strings. This works except with date strings for March, where the MMM month format is used.
NSDateFormatter *fmt = [[NSDateFormatter alloc] init];
[fmt setDateFormat:@"dd-MMM-yyyy"];
NSDate *aDate = [fmt dateFromString:dateString];
[fmt release];
For example, the date开发者_如何转开发String value:
- @"29-Jan-2011" works
- @"04-Feb-2011" works
- @"20-Mar-2011" does not work! Resulting NSDate instance aDate is nil
Is this a bug in iOS SDK 4.3 or does the formatter expect a different abbreviation for March?
I cannot reproduce this:
NSString *dateString = @"20-Mar-2011";
NSDateFormatter *fmt = [[NSDateFormatter alloc] init];
[fmt setDateFormat:@"dd-MMM-yyyy"];
NSDate *aDate = [fmt dateFromString:dateString];
[fmt release];
NSLog(@"date=%@", aDate);
Output:
2011-03-17 22:04:39.798 Untitled[18025:207] date=2011-03-20 04:00:00 +0000
Is it possible you have your locale set to something other than English?
精彩评论