0

たぶんそれは古い質問で、このサイトを検索して同様の質問をいくつか見つけましたが、まだ問題を解決できません。gameDateTimeStr: "11/12/2013-10:00 PM" という名前の NSString があり、それを NSDate に変換したいと考えています。次のコードを使用しました。

NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"MM/dd/yyyy-HH:mm a"];
[formatter setLocale:[NSLocale currentLocale]];
NSDate *gameDateTime = [formatter dateFromString:gameDateTimeStr];

ただし、consolte に出力すると、その説明は次
のようになります。修正を手伝ってください。

4

1 に答える 1

5

日付フォーマッタには 1 つの問題があります。まず、日付形式の時間に 24 時間形式を使用HHしています。ただし、例では12時間形式を使用しており、使用するhh必要があります。

[formatter setDateFormat:@"MM/dd/yyyy-hh:mm a"];

NSLog印刷された日付はGMTで表されるため、タイムゾーンのオフセットに応じて、日付は正しく解析されます。

文字列フォームを作成すると、日付オブジェクトはNSDateFormatterタイムゾーンを使用して正しい時間オフセットを計算します。

于 2013-11-11T10:28:16.283 に答える