NSDateFormatterを使用して文字列を日付に変換しています。ただし、返される日付はnilです。 問題を引き起こすのはハードコードされた文字列だけです。私はstringFromDate:を使用し、このNSStringをNSDateに変換すると問題ありません。NSDateFormatterは文字列を日付に変換しません
ハードコードされた日付:
2012-30-22T10:30:19 + 0530
dateFromString:
2012-04-27T10:20:43 + 0530
私に差を見ることができません日付形式。
コード:
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ssZZ"];
NSString *string = [dateFormatter stringFromDate:[NSDate date]];
NSLog(@"string %@", string);
ログ:〜文字列2012-04-27T10:20:43 + 0530
NSDate *date = [dateFormatter dateFromString:string];
NSLog(@"date %@", date);
ログ:〜日2012-04-27午前4時50分:43 +0000
これまでのところとても良いです。私の文字列から日付が返されます。しかし、私は、私は自分自身を入力した日付を使用しようとすると...
NSString *string2 = @"2012-30-22T10:30:19+0530";
NSLog(@"string2 %@", string2);
ログ:〜日2012-04-27 4時50分43秒0000
//Here comes the problem.
NSDate *date2 = [dateFormatter dateFromString:string2];
NSLog(@"date 2 %@", date2);
ログ:〜日付2(ヌル)
他の日付が無効だったのはなぜですか?
は、あなたの自己入力文字列の1か月間のタイプミスを検出しますか?それは30番目の月を知らないのでそれを台無しにするかもしれません。 –
私はそれがそうでなければならないと思います。私は自分がそれを見つけたとは信じられません。実際に私はこの文字列を手動で入力しませんでした。それはサーバーから来ます。私はサーバーが台無しになったと思います。それを回答として掲示して、それを正しいものとしてマークします。 – SEG
ありがとうたくさんのbtw! :-) – SEG