2011-02-04 8 views
7

は私のデータソースから来ている文字列は次のようにフォーマットされています。私は後にインターネットを検索したNSDateFormatter dateFromString

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]; 

これらのスレッドは、dateStringのフォーマットが間違っていたという答えが常にありました。しかし、私のdateStringは正しいものです、そうですか?

なぜ日付はnilを返しますか?

答えて

17

日付形式の文字列が@"MMMM"の場合、解析しようとしている文字列が月のフルネーム( "January"、 "October"など)であることを意味します。

yyyy-MM-dd HH:mm:ss 

チェックアウト詳細はdate formatting patterns

あなたはより多くのような何かをしたいです。

+0

私は、私の* dateStringから完全な月の名前でNSStringを持っていることを言及する必要があります。 –

+0

dateFromStringは文字列ではなくNSDateを生成します。 – xyzzycoder

+0

私は、文字列を日付に、そして行を月の名前(文字列)に変換した後に、その文字列を変換すると思いました。しかし、私は最初のステップを過ぎることはできません。あなたは私と一緒ですか? –

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

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

これはノルウェーの例です。あなたの言語では、 "se_SE"にする必要があります

関連する問題