NSDateFormatter dateFromString

2019-02-13 09:12发布

问题:

The string which comes from my data source is formatted like this:

2011-04-11 23:12:05

// dateString comes from my data source, and look like I've said like this.
dateString = @"2011-04-11 23:12:05";

NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"MMMM"];

NSDate *date = [formatter dateFromString:dateString];

When I've searched internet after threads like these the answer has always been that the dateString had wrong format. But my dateString is one of the correct ones, right?

Why does date returns nil?

回答1:

A date format string of @"MMMM" means that the string you're trying to parse is the full name of a month ("January", "October", etc).

You want something more like:

yyyy-MM-dd HH:mm:ss

Check out the date formatting patterns for more info.



回答2:

// set norwegian locale
    dateFormatter.locale=[[NSLocale alloc] initWithLocaleIdentifier:@"no_NO"];;

    dateFormatter.dateFormat=@"MMMM";
    NSString * monthString = [[dateFormatter stringFromDate:date] capitalizedString];
    NSLog(@"month: %@", monthString);

This is a norwegian example. With your language it should be "se_SE"