2012-02-15 6 views
2

私の入力文字列が 文字列を日付と日付に変換するにはどうすればいいですか? 05..Where私をした:

NSString *[email protected]"15 February 2012 17:05"; 
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init]; 
[dateFormat setDateFormat:@"dd MMMM YYYY HH:mm"]; 
NSDate *dateVal = [dateFormat dateFromString:inputString]; 

NSDateFormatter *dateFormat2 = [[NSDateFormatter alloc] init]; 
[dateFormat2 setDateFormat:@"MM/dd/YYYY HH:mm"]; 
NSString *outputString = [dateFormat2 stringFromDate:dateVal]; 
[dateFormat release]; 
[dateFormat2 release]; 

は私が outputString =/2011分の25 17時05分

12しかし、それがあるべき2012年2月15日17は、次の日付を持っています間違いをする?

+0

問題はです最初の部分(日付文字列の解析)。それは2011年12月25日に返されますが、私はなぜそれがわかりません。 – Rayfleck

答えて

2

あなたは日付形式の間違ったフォーマットを使用しているともNSDateFormatterの別のインスタンスを作成する必要はありません -

NSString *[email protected]"15 February 2012 17:05"; 
    NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init]; 
    [dateFormat setDateFormat:@"dd MMMM yyyy HH:mm"]; 
    NSDate *dateVal = [dateFormat dateFromString:inputString]; 

    [dateFormat setDateFormat:@"MM/dd/yyyy HH:mm"]; 
    NSString *outputString = [dateFormat stringFromDate:dateVal]; 
4

日付形式が間違っている、使用:

[dateFormat setDateFormat:@"dd MMMM yyyy HH:mm"]; 

資本「YYYY」「今年の週間」ベースのカレンダーに使用するためのものです。

参照:ユニコードところでDate_Format_Patterns

dateValNSLogは、問題は、入力フォーマットにあったことを示しているだろう。

0

あなたのロケールは、解析しようとしている形式に対応していますか?デフォルトでNSDateFormatterは現在のロケールを使用します。

0

入力日付形式は次のようになります。

[dateFormat setDateFormat:@"dd MMMM yyyy HH:mm"]; 
関連する問題