2012-04-24 7 views
0

私の質問はもっと似ていると思います:dateString1とdateString2の違いは何ですか?解析したXML NSStringをNSDateに出力する(null)

このコードでわかるように、私は2つの文字列をNSDateに変換しています。これは私が私のログコンソールで得るものです:

2012-04-24 17:22:09.586 NSString2NSDate[20233:f803] StingOne:2012-07-09 04:10:00 +0000 
2012-04-24 17:22:09.589 NSString2NSDate[20233:f803] InvalidTwo:2012-07-19 23:00:00 +0000> 
2012-04-24 17:22:09.590 NSString2NSDate[20233:f803] StingTwo:2012-07-19 23:00:00 +0000 
2012-04-24 17:22:09.594 NSString2NSDate[20233:f803] 1st DATE:2012-07-09 04:10:00 +0000 
2012-04-24 17:22:09.595 NSString2NSDate[20233:f803] 2nd DATE:(null) 

両方の文字列を文字列として正しいのNSLogを出力しているので、私は問題がここにあるものに私の心を得ることができません。私は、xmlから解析されたdateString2は ">"最後にはどこかに追加されているので、削除してもまだNSDateは(null)であることがわかりました。

この文字列のエンコードに問題がありますか?これを修正するにはどうすればよいですか?

XMLファイルのエンコーディングはutf-8です。

ありがとうございます。

答えて

1

hhは、範囲内の時間を示します。1-12およびHHは、範囲内の時間を示します。0-23。したがって、23:00:00を解析できるようにするには、hhの代わりにHHを使用する必要があります。

NSDateFormatter *formater = [[NSDateFormatter alloc] init]; 
[formater setDateFormat:@"yyyy-MM-dd HH:mm:ss z"]; 

NSDate *datefromString = [formater dateFromString:dateString]; 
NSDate *datefromString2 = [formater dateFromString:correct]; 

また、私は一つだけNSDateFormatterを使用しましたことに注意してください。 2つを使用するのはエラーではありませんが、2つ目は必要ありません。

+0

ありがとうございます。正常に動作します。 2番目のフォーマッタは、100%確かめるためのものです。 – defou

関連する問題