私のコードは以下のようなものです
NSDateComponents *components = [[NSDateComponents alloc] init];
components.year = [aDay.year intValue]; // 2012
components.month = [aDay.month intValue]; // 2
components.day = [aDay.day intValue]; // 1
components.hour = components.minute = components.second = 0;
NSDate *now = [self.calender dateFromComponents:components];
self.calendar については、次の 2 つの方法の両方を試しました。
self.calendar = [NSCalendar currentCalendar];
self.calender = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
しかし、この後、「今」の日付を印刷すると、常に次のようになります。
(gdb) po now
2012-01-31 16:00:00 +0000
「今」の日付は 2012-02-01 00:00:00 であるはずです
どうやら8時間の違いがあり、私は今中国にいるので、+0800のタイムゾーンにいると思いますか?
この問題を解決するにはどうすればよいですか? timeZone を処理する必要がありますか?
どうもありがとう!