0

日付インスタンスをオブジェクトNSDateFormatterに変換するために使用していました。ある時点で、何かがおかしいことに気づきました。チェックを行ったところ、文字列から。に変換すると、1年が経過したように見えました。NSStringNSDateNSDateFormatterNSDate

コードは次のようになります。

NSString *dateString = [dictionary objectForKey:@"match_date_time"];
if (dateString) {
     // dateString is "2012-10-30 04:30:00"

     NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
     [formatter setTimeZone:[NSTimeZone timeZoneWithName:@"GMT"]];
     [formatter setDateFormat:@"YYYY-MM-dd HH:mm:ss"];

     self.date = [formatter dateFromString:dateString];
     // self.date ends up 2011-10-30 04:30:00 +0000, yes 2011 not 2012.
}

なぜNSDateFormatterそんなに惨めに失敗するのか誰かが知っていますか?

ありがとう!

4

1 に答える 1

1

以下のコードを書くだけです

[formatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
于 2012-10-20T11:24:33.540 に答える