1

この日付フォーマッタを使用すると、日付から取得した場合と同じ日付が返されません->文字列->日付。

NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setFormatterBehavior:NSDateFormatterBehavior10_4];
[formatter setDateFormat:@"MMM d, YYYY hh:mm aaa"];

NSDate *date = [NSDate date];
NSString *string = [formatter stringFromDate:date];
NSDate *resultingDate = [formatter dateFromString:string];

私のテストでは、日付文字列が生成されましたAug 24, 2010 01:00 PM。にフィードバックするdateFromStringと、 が得られ2009-12-27 13:00:00ます。時間は正確ですが、日付はすべて間違っています。

ここで何が起こっているか知っている人はいますか?

4

1 に答える 1

3

問題は次のステートメントにあります。

[formatter setDateFormat:@"MMM d, YYYY hh:mm aaa"];

これを次のように変更します (小文字の y):

[formatter setDateFormat:@"MMM d, yyyy hh:mm aaa"];

そして、それはうまくいきます。

の背後にあるコードの何が問題なのかは正直わかりませんNSDateFormatterが、私が知っているのはそれが機能することだけです。

于 2010-08-21T21:46:30.367 に答える