2011-07-22 12 views
0

iOS 4.3.4のNSDateFormatterに関する変更はありますか?私は昨日iTouch OSを4.3.4にアップグレードしたので、NSDateFormatterに関連したコードの一部が動作を停止していることがわかりました。dateFromStringは、iOS 4.3.4では異なる動作をしますか?

NSDateFormatter *outputFormatter = [[NSDateFormatter alloc] init]; 

[outputFormatter setDateFormat:@"h:mm a"]; 

NSDate *date_ = [outputFormatter dateFromString:@"08:00 AM"]; 
NSLog(@"Date:%@",date_); 

[outputFormatter release]; 

OUTPUT

のiOS 4.3.1:1970-01-01午前二時30分00秒0000

のiOS 4.3.4:ヌル。

+0

私が最終的に達成しなければならないことは、時間のソートされたリストです。私はAM/PM形式(08:00 AM、04:15PM、08:30 AMのような)で異なる時間を持つ配列を持っているとします。私はそれらを並べ替えると、これはNSDateに変換して比較を適用できる場合にのみ可能です。 – harshit2811

答えて

0

まず、あなたのコードはではありません。は、iOS 4.3.1で動作します。日付を見ると、1970年1月であることに気付くはずです。

"h:mm a"の代わりに "HH:mm"を入れてください。 2倍の数字は2桁を意味するものではなく、ISOによって作成されたちょうどある規則です。そして、 "AM-PM"パラメータに関しては、ロケールから来ていると思います。

NSDatesetLocaleのドキュメントを参照してください。あなたのパラメータは@ "en-US"だと思います。

あなたのお役に立てば幸いです。

よろしくお願いいたします。

関連する問題